Olá,
já procurei em toda a internet, e encontrei alguma coisa similar aqui no fórum, porém não exatamente o que buscava, sendo assim, aqui vai a minha dúvida.
Estou criando uma aplicação usando o Ajax4JSF na qual há um div que servirá como container para diversos formulários e páginas do meu sistema.
A idéia é a seguinte: quando o usuario clicar em um link ou botão por exemplo, o conteudo deste container será igual ao conteudo do arquivo que irei referenciar.
No entanto, não quero fazer algo como
<a4j:include bla bla bla>
</a4j>
Eu quero que, tal como eu faço o redirecionamento normalmente em um JSF, eu faça com que o resultado retornado vá parar dentro do meu div. No entanto, não estou conseguindo isto. No máximo, consigo ser redirecionado para a outra página ou então pior: o conteudo da página que busco é renderizado em toda a página, e não apenas no div que eu queria.
O código que eu estava gerando era similar a este:
<h:form>
<a4j:commandLink value="Um link qualquer" action="#{meuBean.action}" reRender="divAlvo"/>
</h:form>
<!-- Aqui o conteudo deveria ser renderizado -->
<h:panelGroup id="divAlvo"></h:panelGroup>
O meu backing bean retorna um valor do tipo String que me leva para a outra página. Por que o conteudo desta outra página (detalhe, não estou incluindo tags como “html” no conteudo da página de resposta) não é retornado para dentro do elemento que defini no meu link, mas sim na página inteira?
Já vi soluções nas quais um bean retorna o valor de uma página e aí este valor seria passado para uma tag de inclusão de conteudo. No entanto, esta solução é muito pobre. Quero fazer algo tal como citado acima. Tem como? Se for possível, como devo proceder? Qual o erro basico que estou cometendo?