[JSF] Passando uma action para um componente customizável
4 respostas
B
bruno_cobra
Pessoal,
Pela primeira vez estou trabalhando com a criação de um componente customizado em JSF, mas estou passando por um problema: como passar para o componente uma action a ser executada?
Se vc estiver usando JSF2 basta declarar o atributo action da taglib do facelets. A especificação diz q alguns atributos como action, var, value tem um significado especial e são tratados diferentemente pelo Facelets. Assim, se o seu custom componente possui um atributo chamado action o próprio Facelets vai “extrair” a EL e chamar o método setActionExpression do seu componente. P/ disparar o evento vc precisa primeiro checar se ele foi clicado. Isso geralmente é feito adicionando-se o atributo name no input gerado. Se vc concluir q o command foi disparado, então vc chama o método queueEvent.
PS.: é importante q seu componente extenda de UICommand ou algum subclasse.
B
bruno_cobra
Em primeiro lugar, obrigado pela resposta. Na realidade, acabei conseguindo fazer de acordo com o seguinte link:
Obrigado pelas informações.
Na realidade, consegui fazer baseado naquele link, não segui tudo à risca (apenas adaptei a minha necessidade).
Sobre o que dissestes:
1 - Estou usando MethodExpression;
2 - Não posso utilizar JSF 2 neste projeto.
3 - Não sabia disso, mas vou dar uma olhada para ver o que posso melhorar.