Pergunta
Eu quero escrever uma tag struts2 personalizado, que tem uma classe de ação separada para si, e pode ser chamado a partir de diferentes páginas JSP.
Algo como:
<s:writetext type="aaa" parentid="xxx" parentname ="yyy" height ="50" width ="125" />
É possível? Por favor, ajuda, eu sou muito novo para isso e pesquisando sobre isso não ajuda.
Obrigado, Aditya
Solução
Esta questão de idade tornou-se também relevante para mim esta semana ao rever algum código existente. Além de de tbruyelle resposta , este foi para mim a referência mais útil:
http://bodez.wordpress.com/ 2009/03/13 / personalizando-struts2-jsp-tags /
Em resumo (1) ,
- Estender uma tag existente (por exemplo,
org.apache.struts2.views.jsp.ui.TextFieldTag
) - Amplie seu comportamento (por exemplo,
org.apache.struts2.components.TextField
) - Definir tema novo e modelos (por exemplo, copiar e editar a partir de um tema já existente no
/core/src/main/resources/template
) - Gerar o novo TLD para a versão personalizada do taglib
- implantá-lo em uma aplicação web
O struts 2 API também poderia ser útil.
Infelizmente (e surpreendentemente), há muito pouca documentação sobre como fazer isso, eo javadoc para os componentes do Struts existentes é "um pouco escasso" e enganosa. Talvez não se destina a ser usado dessa maneira?
Notas
(1) Eu editei esta resposta de alguns anos após o post original para adicionar este resumo, alinhando a resposta com as diretrizes assim. Infelizmente, tem sido um longo tempo sem trabalhar com código semelhante, e eu posso não ser a certeza de ter mantido a essência do blog vinculado, por favor consulte o link se ele ainda funciona.
Outras dicas
esses links irá ajudá-lo na criação de tag struts2 personalizado. http://www.vitarara.org/cms/struts_2_cookbook/creating_a_ui_component