Olá pessoal,
Estou utilizando o a4j:include para carregar as páginas da aplicação. A página que é carregada é definida por uma string em um MB e eu passo o valor dessa String através de um commandLink que passa um parametro. Contudo, se eu clico em um link e logo após em outro, ele deixa carregado o conteudo da página antiga e escreve em baixo o conteudo da nova. Alguém já passou por isso?
Código Página:
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="css/layout.css" rel="stylesheet" type="text/css" />
</head>
<body style="margin:0px; border:0px;">
<f:view>
<div class="superior">
<a4j:include viewId="/superior.jsp" />
</div>
<div class="inferior">
<div class="menu">
<a4j:include viewId="/menuPreferencias.jsp" />
</div>
<div class="conteudo">
<a4j:include viewId="/#{navegacao.pnlConteudo}.jsp" id="telaIndex" />
</div>
</div>
</f:view>
</body>
</html>
Código Link:
<a4j:commandLink action="#{navegacao.carregaLink}" immediate="true" >
<h:graphicImage url="images/cadastro.png" style="border: 0px;" />
<f:param name="pnlConteudo" value="cadastro"/>
<f:param name="pnlMenu" value="menu1"/>
<a4j:support event="onclick" reRender="telaIndex" />
</a4j:commandLink>
Codigo Página Carregada:
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
<f:subview id="conteudo">
<h:form>
<h:outputText value="Teste" />
</h:form>
</f:subview>
Código MB:
private String pnlConteudo;
// get/set
public String carregaLink() {
pnlConteudo = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("pnlConteudo");
return "";
}
[]´s
Daniel