Encapsular Menuitem com Taglib, JSP, JS?
-
20-09-2019 - |
Pergunta
Como eu poderia encapsular a lógica de autenticação, o URL e o rótulo de um item de menu quando uso por exemplo, um widget de dojo menuitem?
O que eu tenho atualmente é o seguinte:
<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 o que eu gostaria de alcançar seria algo como:
<util:menuitem role="admin" link="...complicated url..." label="label.goes.here" />
É possível implementar com uma tag personalizada? Haveria outras opções para usar ajudantes de Ajax ou JS?
Solução
Há um projeto chamado Menu Struts Essa é uma combinação de um Taglib, um arquivo de configuração e modelos de velocidade para encapsular a lógica e a segurança do menu. Eu não acho que exista um modelo de velocidade existente para menus do dojo, mas não deve ser difícil escrever um.
Outras dicas
Certamente é possível com uma tag personalizada, mas incluir outras tags em uma tag personalizada pode ser esgotada. Facelets é uma boa alternativa ao JSP que realmente o substituiu na especificação J2EE para J2EE6. Ele permite criar tags personalizadas por meio de outros componentes. Verificação de saída isto como é um bom tutorial.