Evitando os dois carregamentos de JSF (JavaServer Faces)
Dica publicada em Java / Internet
Evitando os dois carregamentos de JSF (JavaServer Faces)
Quem trabalha com JavaServer Faces nota que existem problemas quando se trata de navegação entre páginas onde os managed-beans dele se encontram em request.
Ex: 3 páginas: A, B e C navegando com jsf fica assim:
PagA para PagB
PagA ->PagA ->PagB
Se existirem parâmetros em request no segundo reload de pagA, a validação dá erro. Então evitando isso, no arquivo JSP adicione:
PagA para PagB
PagA ->PagA ->PagB
Se existirem parâmetros em request no segundo reload de pagA, a validação dá erro. Então evitando isso, no arquivo JSP adicione:
<t:saveState id="qualquerID" value="#{seuMBean}" />
E na classe onde se encontram os métodos:
public final String getValorQualquer() throws Exception {
if (valorQualquer == null)
valorQualquer = carregaValorQualquer();
return valorQualquer;
}
private final String carregaValorQualquer(){
//a execução abaixo
//...
return x;
}
if (valorQualquer == null)
valorQualquer = carregaValorQualquer();
return valorQualquer;
}
private final String carregaValorQualquer(){
//a execução abaixo
//...
return x;
}