ah quanto ao ajax, eu uso chamando o process="" e o update="" do primefaces
mas o problema é que não chega a requisição no controller.
E a ideia é atualizar somente a parte do conteudo do sistema deixando o resto (que nao precisa ser renderizado toda vez, ja que não muda nenhuma informação) utilizando o ui:fragment…
já que ele existe porque eu não usaria? por que renderizar toda tela sem necessidade?
[quote=javaCBA]ah quanto ao ajax, eu uso chamando o process="" e o update="" do primefaces
mas o problema é que não chega a requisição no controller.
E a ideia é atualizar somente a parte do conteudo do sistema deixando o resto (que nao precisa ser renderizado toda vez, ja que não muda nenhuma informação) utilizando o ui:fragment…
já que ele existe porque eu não usaria? por que renderizar toda tela sem necessidade?[/quote]Por que utilização em excesso de ajax não é aconselhável, ainda mais para isso que você quer fazer.
dentro do fragment nao, já que ele vai ser incluido dentro de uma outra pagina.
mas enfim, consegui resolver.
O problema é que eu tinha varios fragments que iriam compor a pagina principal. Ou seja, um controller principal que controlaria vários fragments (sendo que cada fragment chamaria um controller especifico).
Assim funciona:
Pelo que percebi, por ser um fragment e ser chamado dinamicamente…o controller nao era carregado. Por isso não conseguia chegar nenhum evento nele.
Mas especificando cada include…ao carregar a paginas, os controllers ficam disponivel mesmo não tendo a tela renderizada.
Na verdade…o comportamento dentro do servidor tanto do composite quanto do fragment é o mesmo. A diferença é que no fragment por carregar apenas um pedaço da tela, ele não starta nenhum controlador. O ui:composite renderiza a tela toda…forçando o carregamento de outro controller. Por isso funcionava de boa.
No meu caso, essa situação é válida porque são poucos controllers (maximo 5) e a navegação vai ocorrer em apenas um pedaço da tela.
Bom, eu gostaria de saber qual especificação JSF que está utilizando, pois não conheço a tag <ui:include /> com a opção de rendered. Geralmente, eu coloco o include em uma tag que seja renderizada via AJAX, por exemplo, um h:panelGroup e verifico no controller se a página que quero renderizar foi selecionada.