Incapsulare menuItem con taglib, jsp, JS?
-
20-09-2019 - |
Domanda
Come potevo incapsulare la logica di autenticazione, l'URL e l'etichetta di una voce di menu quando faccio uso di esempio un widget Dojo MenuItem?
Quello che ho attualmente è questa:
<auth:isRole role="admin">
<div dojoType="widget.Menu.MenuItem">
<a href="<html:rewrite page="... complicated url ..."/>">
<bean:message key="label.goes.here"/>
</a>
</div>
</auth:isRole>
E quello che vorrei realizzare sarebbe qualcosa come:
<util:menuitem role="admin" link="...complicated url..." label="label.goes.here" />
È possibile implementare con un tag personalizzato? Ci sarebbe altre opzioni per utilizzare Ajax o JS aiutanti?
Soluzione
C'è un progetto chiamato Struts Menu che è una combinazione di un taglib, un file di configurazione, e modelli Velocity per incapsulare la logica di visualizzazione del menu e la sicurezza. Io non credo che ci sia un modello di velocità esistente per i menu Dojo, ma non dovrebbe essere difficile scriverne uno.
Altri suggerimenti
E 'certamente possibile con un tag personalizzato, ma compresi gli altri tag in un tag personalizzato può essere scontroso. Facelet è una buona alternativa a JSP che ha effettivamente sostituito nella specifica J2EE per J2EE6. Esso consente di creare tag personalizzati tramite altri componenti. Scopri questo in quanto è un buon tutorial.