Boa tarde pessoal to relembrando JSF aqui to tentando renderizar dinamicamente um panel de forma bem simples mas ta dando erro.
Segue o código.
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>SM2 - SOLUÇÃO MÓVEL DE MANUTENÇÃO - WEB</title>
<link rel="StyleSheet" type="text/css"
href="${pageContext.request.contextPath}/style.css" />
</head>
<body>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j">
<a4j:loadScript src="resource://pesquisas/rowSelect.js" />
<f:view>
<a4j:form id="principal">
<rich:modalPanel id="panelOS" width="800" height="600"
autosized="false">
<f:facet name="header">
<h:panelGroup>
<h:outputText value="#{msg.pesquisaWorkOrder}" />
</h:panelGroup>
</f:facet>
<f:facet name="controls">
<h:panelGroup>
<h:graphicImage value="/images/close.png" id="hidelink"
title="#{msg.parametersSelecao}" />
<rich:componentControl for="panelOS" attachTo="hidelink"
operation="hide" event="onclick" />
</h:panelGroup>
</f:facet>
<a4j:outputPanel id="Panel1">
<h:outputText value="teste" />
<a4j:commandButton value="teste" reRender="aPanel2"
action="#{testeMB.teste}">
<a4j:support ajaxsingle="true" event="oncomplete"
rerender="Panel2"></a4j:support>
</a4j:commandButton>
</a4j:outputPanel>
<rich:spacer width="100%" height="20" style="color:blue"></rich:spacer>
<a4j:outputPanel id="aPanel2" rendered="#{testeMB.render}">
<h:panelGroup id="Panel2">
<h:outputText value="#{testeMB.mensagem}" />
<a4j:commandButton value="teste2" />
</h:panelGroup>
</a4j:outputPanel>
</rich:modalPanel>
</a4j:form>
</f:view>
</ui:composition>
</body>
</html>
package br.com.sigga.test;
public class TesteMB {
private String mensagem = null;
private boolean render;
public boolean isRender() {
return render;
}
public void setRender(boolean render) {
this.render = render;
}
public void teste() {
render = true;
setMensagem("Funcionou!!");
}
/**
* @return the mensagem
*/
public String getMensagem() {
return mensagem;
}
/**
* @param teste the mensagem to set
*/
public void setMensagem(String mensagem) {
this.mensagem = mensagem;
}
}
o botão simplesmente não renderiza a tela.