Pessoal,
Estou utilizando JSF, facelets, richfaces e mais uma porrada de coisas (não aguento mais tanta sigla…) em uma aplicação nova aqui. E estava com a idéia de criar uma página base (template) utilizando o facelets que seria a “cara” da minha aplicação, e nela colocar um topo, um menu lateral para navegação no site e por fim uma área central onde as coisas “aconteceriam”, basicamente é onde eu quero colocar as minhas outras páginas.
Por questão de desempenho estamos utilizando navegação orientada a estados (Rafael Pontes - http://www.rponte.com.br/2008/04/10/utilizando-ajax-com-jsf-de-maneira-eficiente), que é uma sacada que eu achei muito interessante, evitando ter muitas páginas e o reload da mesma para cada operação.
Mas, agora vem o meu problema, no menu que eu citei inicialmente deveria fazer a chamada da página desejada e carregá-la na área que eu defini. Além de dar erro quando eu carrego essa página nessa área eu estou fugindo do que eu até hoje vi de JSF quanto a regras de navegação. É correto fazer isso???
Se eu seguir as regras de navegação do JSF (configurando elas no faces-config.xml) eu sei que posso criar páginas filhas (ou clientes) do template que eu criei e todas ficariam com o mesmo formato, mas para cada chamada no menu eu faria o reload da página. Gostaria de saber com quem trabalha a mais tempo com JSF se o que eu estou tentando fazer está correto???
Até onde pesquisei não vi ninguém que faça essa mesma abordagem que eu estou procurando… 
Não sei se consegui ser claro na explicação…
Aceito sugestões…
Obrigado
Desculpa se eu falar besteira, mas a abordagem q vc quer é o Ajax? Navegar sem reload de página?
Digamos que eu nao queria renderizar a página toda novamente, pois boa parte dela não se altera, e sim a área do meio.
Eu quero alterar, fazer o reload, apenas uma das áreas que eu defini.
Não bem o ajax…
Com Ajax vc não precisa atualizar td sua página… vc pode atualizar apenas o div central da sua página… a página que vc chamaria não seria um HTML completo, apenas um div tbm…
Não resolve seu problema?
Como fica a utilização dos componentes do JSF nessas divs??? até onde eu vi e testei, eu preciso definir as meus componentes JSF, a4j, richfaces, facelets para utilização seja na tag html ou ui:
xmlns=“http://www.w3.org/1999/xhtml”
xmlns:ui=“http://java.sun.com/jsf/facelets”
xmlns:h=“http://java.sun.com/jsf/html”
xmlns:f=“http://java.sun.com/jsf/core”
xmlns:a4j=“http://richfaces.org/a4j”
xmlns:rich=“http://richfaces.org/rich”
xmlns:t=“http://myfaces.apache.org/tomahawk”
xmlns:c=“http://java.sun.com/jstl/core”
essas definições eu não preciso fazer novamente???
Cara, minha experiencia com JSF não é nada que vc va admirar rs… mas em situações semelhantes, costuma ser necessário refazer as definições sim.
Como não manjo JSF ainda, não sei se a tag ui pode ir dentro do div. Se puder resolve com isso. Senão, abre o html com as definições sem problema, mas nao cria head, nem body nada… só um div dentro.
Acho que assim deve funcionar.
Ok Paulo, vou tentar isso e já dou um retorno…
Obrigado!!
Fiz os teste e inicialmente funcionou isso!!!
Até mesmo definindo por ui:component funciona…
tenho agora uma nova suspeita, parece que alguns componentes do richfaces como o rich:dataTable e o rich:modalPanel estão dando problema quando eu trabalho dessa forma…
se eu fizer o reload da página toda (leia-se utilizando páginas clientes do meu template original) não apresenta erro algum… pode ser alguma coisa quanto a referencia… mas não consigo debugar certinho…
quando apresenta o erro ele fala que é na linha 1542184597… meu código nao tem td isso de linha nem pagando…
removendo esses componentes do código ele faz o carregamento da página sem erro algum!!
mas voltando a pergunta original, essa abordagem é aceita para JSF???
Obrigado…
Bom cara, daqui pra frente vou deixar pra algum especialista de JSF te ajudar, porque ai fige ao meu alcance.
Boa sorte.