Tags JSTL em Facelets funcionam?
Marcos Sousa | April 24, 2008Bom, já vi esta pergunta diversas vezes, e por diversos momentos eu também fiz a pergunta: porque o c:if não funciona corretamente, porque o c:forEach não executou minha lista?
Existe uma justificativa lógica para tal, que encontrei estes dias na seção de Faqs no WIKI do Facelets. Como eu já suspeitava tinha tudo a ver com o ciclo de execução das tags. Todas as tags JSTL em Facelets são rederizadas durante a restauração da view, ou seja, antes do processamento de ações, eventos e etc.
Este comportamento pode ser notado em tags do pacote core JSF, com exceção a tag f:verbatim. As tags facelets também são renderizadas durante a restauração da view, com exceção da ui:repeat.
Solução? Para substituir c:forEach use ui:repeat e para c:if crie um h:panelGroup controlando a visualização com o atributo rendered.





