Ao clicar numa linha de um datatabele um item é selecionado, exibindo algumas informações e um botão para geração de pdf com as informações do item selecionado na mesma página.
O botão do Pdf e as informações da tela são exibidos apenas quando um item do datatable é clicado (devido aos problemas quanto a por um texto e uma imagem num botão, pra ficar bonito, o botão do pdf é uma tabela com as imagens/texto e dentro de um commandLink.), ou seja, o div “divInformacoes” é rerenderizado com as informações atuais. Mas ao rerenderizar o div, a tabela com o botão fica do lado de fora do link.
Sem a tabela do botão, o link funciona normalmente…
O código fica mais ou menos assim…
<ui:define name="body">
<a4j:commandLink reRender="divInformacoes" action="#{bean.acao}">
<h:outputText value="Clique aqui"/>
</a4j:commandLink>
<t:div id="divInformacoes">
<h:commandLink styleClass="button" action="#{bean.gerarPDF}" rendered="#{bean.atributo != null }">
<h:panelGrid columns="2">
<h:column>
<h:graphicImage url="#{usuario.pathImageComplete}pdf.png" />
</h:column>
<h:column>
<h:outputText value="PDF"/>
</h:column>
</h:panelGrid>
</h:commandLink>
<t:div>
<t:div>
<ui:include src="/pagina/pagina.jspx"/>
</t:div>
</t:div>
</t:div>
</ui:define>
e o código fonte da página fica assim, com a tabela do botão fora do link…
<div xmlns="http://www.w3.org/1999/xhtml">
<a href="http://localhost:8080/joinrhweb/formulario/codFormulario/1#"/>
Alguém tem alguma idéia de porque isso acontece?