f2pro
Agosto 1, 2011, 2:07pm
#1
Pessoal! Realmente este erro ocorre de vez em quando, e não depende do tipo de dados que a pessoa insere sabe, tipo o campo é pra 10 caracteres e colocam 15.
Este erro ocorre quando a página é carregada e nem sempre ocorre
GRAVE: Error Rendering View[/associado/novoEstudante.xhtml]
java.lang.IllegalStateException: PWC3999: Cannot create a session after the response has been committed
at org.apache.catalina.connector.Request.doGetSession(Request.java:2867)
at org.apache.catalina.connector.Request.getSession(Request.java:2561)
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:920)
at com.sun.faces.context.ExternalContextImpl.getSession(ExternalContextImpl.java:155)
at com.sun.faces.renderkit.ServerSideStateHelper.writeState(ServerSideStateHelper.java:175)
at com.sun.faces.renderkit.ResponseStateManagerImpl.writeState(ResponseStateManagerImpl.java:122)
at com.sun.faces.application.StateManagerImpl.writeState(StateManagerImpl.java:166)
at com.sun.faces.application.view.WriteBehindStateWriter.flushToWriter(WriteBehindStateWriter.java:225)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:418)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:410)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:662)
INFO: Exception when handling error trying to reset the response.
java.lang.IllegalStateException: PWC3999: Cannot create a session after the response has been committed
at org.apache.catalina.connector.Request.doGetSession(Request.java:2867)
at org.apache.catalina.connector.Request.getSession(Request.java:2561)
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:920)
at com.sun.faces.context.ExternalContextImpl.getSession(ExternalContextImpl.java:155)
at com.sun.faces.renderkit.ServerSideStateHelper.writeState(ServerSideStateHelper.java:175)
at com.sun.faces.renderkit.ResponseStateManagerImpl.writeState(ResponseStateManagerImpl.java:122)
at com.sun.faces.application.StateManagerImpl.writeState(StateManagerImpl.java:166)
at com.sun.faces.application.view.WriteBehindStateWriter.flushToWriter(WriteBehindStateWriter.java:225)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:418)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:410)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:662)
AVISO: StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw exception
java.lang.IllegalStateException: PWC3999: Cannot create a session after the response has been committed
at org.apache.catalina.connector.Request.doGetSession(Request.java:2867)
at org.apache.catalina.connector.Request.getSession(Request.java:2561)
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:920)
at com.sun.faces.context.ExternalContextImpl.getSession(ExternalContextImpl.java:155)
at com.sun.faces.renderkit.ServerSideStateHelper.writeState(ServerSideStateHelper.java:175)
at com.sun.faces.renderkit.ResponseStateManagerImpl.writeState(ResponseStateManagerImpl.java:122)
at com.sun.faces.application.StateManagerImpl.writeState(StateManagerImpl.java:166)
at com.sun.faces.application.view.WriteBehindStateWriter.flushToWriter(WriteBehindStateWriter.java:225)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:418)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:410)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:662)
Segue o código do arquivo _novoCadastro.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<f:view contentType="text/html">
<h:panelGrid columns="1">
<h:panelGrid style="border: 0px;" cellpadding="0" cellspacing="10" columns="2">
<h:graphicImage url="../imagens/atencao_p.gif" style="width: 18px; height: 19px; text-align: left"/>
<h:outputLabel value="Leia antes de preencher" styleClass="fonte_cinza" style="text-align: left; font-weight: bold; "/>
</h:panelGrid>
<h:form id="formAssociado">
<p:panel id="panel" style="margin: 0px auto; border: 0px;">
<h:panelGrid columns="2" style="margin-left: 10px; border: 0px;">
<h:outputLabel value="*Nome: "/>
<p:inputText value="#{novoEstudanteMB.associado.nome}" style="width: 180px;" id="nome" required="true"
requiredMessage="campo [Nome] é obrigatório"/>
<h:outputLabel value="*RG: "/>
<p:inputText value="#{novoEstudanteMB.associado.rg}" style="width: 180px;" id="rg" required="true"
requiredMessage="campo [RG] é obrigatório"/>
<h:outputLabel value="Data Nascimento: "/>
<p:inputMask id="datanascimento" label="Data Nascimento" style="width: 180px" value="#{novoEstudanteMB.dataNascimento}" mask="99/99/9999">
<f:convertDateTime locale="pt_BR" timeZone="America/Sao_Paulo"/>
</p:inputMask>
<h:outputLabel value="Sexo: "/>
<p:selectOneRadio value="#{novoEstudanteMB.associado.sexo}" id="sexMachine">
<f:selectItem itemLabel="Masculino" itemValue="Masculino" />
<f:selectItem itemLabel="Feminino" itemValue="Feminino" />
</p:selectOneRadio>
<h:outputLabel value="Fumante: "/>
<p:selectOneRadio value="#{novoEstudanteMB.associado.fumante}">
<f:selectItem itemLabel="Sim" itemValue="Sim"/>
<f:selectItem itemLabel="Não" itemValue="Não"/>
</p:selectOneRadio>
</h:panelGrid>
</p:panel>
</h:form>
<h:panelGrid border="0" cellpadding="0" cellspacing="0">
<p:growl showDetail="true" showSummary="true" id="msgs"/>
</h:panelGrid>
</h:panelGrid>
</f:view>
</html>
e o codigo do arquivo NovoEstudanteMB.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package mb.visitante;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import modelo.Associado;
import modelo.BairroCidade;
import negocio.AssociadoJpaController;
import negocio.BairroCidadeJpaController;
import org.primefaces.context.RequestContext;
import util.ValidatorCPFCNPJ;
import util.textUtil;
/**
*
* @author iuri
*/
@ManagedBean
@ViewScoped
public class NovoEstudanteMB implements Serializable {
private Associado associado = new Associado();
private Date dataNascimento = null;
private AssociadoJpaController associadoJpa;
private String confirmaSenha;
private RequestContext requestContext;
private Boolean aceite = false;
public Boolean getAceite() {
return aceite;
}
public void setAceite(Boolean aceite) {
this.aceite = aceite;
}
public Date getDataNascimento() {
return dataNascimento;
}
public void setDataNascimento(Date dataNascimento) {
this.dataNascimento = dataNascimento;
}
public String getConfirmaSenha() {
return confirmaSenha;
}
public void setConfirmaSenha(String confirmaSenha) {
this.confirmaSenha = confirmaSenha;
}
public Associado getAssociado() {
return associado;
}
public List<BairroCidade> completeBairro(String query) {
List<BairroCidade> lc = new BairroCidadeJpaController().findAllByNomeBairro(query);
return lc;
}
public void setAssociado(Associado associado) {
this.associado = associado;
}
private boolean validaForm() {
String nome[] = associado.getNome().split(" ");
if (nome[0].toLowerCase().trim().equals(associado.getSenha())){
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Favor digitar uma senha diferente do seu nome.", ""));
return false;
}
String cpfSemFormato = textUtil.removeformatacao(associado.getCpf());
if(cpfSemFormato.equals(associado.getSenha())){
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Favor digitar uma senha diferente do seu CPF.", ""));
return false;
}
if(aceite == false){
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Favor aceitar os termos de responsabilidade.", ""));
return false;
}
if (existeCPF()) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Já existe um cadastro com o CPF [" + associado.getCpf() + "].", ""));
return false;
}
if (!new ValidatorCPFCNPJ(ValidatorCPFCNPJ.cpf, associado.getCpf()).isValido()) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,
"CPF " + associado.getCpf() + "] inválido.", ""));
return false;
}
if (associado.getBairro() == null) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Informe um bairro", ""));
return false;
}
//verifica se as senhas digitadas sao iguais
if (!confirmaSenha.equals(associado.getSenha())) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Senha Inválida", "As senhas digitadas são diferentes"));
return false;
}
return true;
}
public void cadastra() {
if (!validaForm()) {
return;
}
if (dataNascimento != null) {
associado.setDatanascimento(new java.sql.Date(dataNascimento.getTime()));
}
associado.setSituacao(true);
associado.setDatacadastro(new java.sql.Date(System.currentTimeMillis()));
associado.setUlt_atualiz(new java.sql.Date(System.currentTimeMillis()));
//cria
associadoJpa.create(associado);
requestContext = RequestContext.getCurrentInstance();
requestContext.addCallbackParam("sucesso", true);
}
private boolean existeCPF() {
if (!associadoJpa.verificaExistenciaCPF(associado.getCpf())) {
return true;
}
return false;
}
public NovoEstudanteMB() {
associadoJpa = new AssociadoJpaController();
associado.setSexo("Masculino");
associado.setFumante("Não");
}
}
vc tem implementado algum phaselistener ou algum filtro ou algo que esteja antes da página ser renderizada?
f2pro
Agosto 1, 2011, 2:31pm
#3
Cara… na vdd esqueci de dizer que a pagina _novoCadastro.xhtml é um include
e este é o arquivo que chama ele
novoEstudante.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<link rel="stylesheet" type="text/css" href="est_lfe.css" />
</h:head>
<h:body>
<div id="container">
<div id="containermain">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td height="100">
</td>
</tr>
</tbody>
</table>
<div id="espiraltop">
<img src="../imagens/espiralg.gif"/>
</div>
<div id="logo">
<a href="../"><img border="0" src="../imagens/logo_login.gif"/></a>
</div>
<div id="orelha">
<img src="../imagens/orelha.gif"/>
</div>
<div id="barra_titulo">
<img border="0" src="../imagens/bar_cad.gif"/>
</div>
<div id="btn_top">
<table border="0" cellpadding="0" cellspacing="0" height="28">
<tbody>
<tr>
<td width="33%" align="center" height="5" valign="bottom"><a href="/"><img src="../imagens/btn_ajuda.gif" alt="Clique para obter ajuda." border="0" title="Clique para obter ajuda."/></a></td>
<td width="30%" align="center" valign="bottom" height="5"><a href="/"><img src="../imagens/btn_sobre.gif" alt="Clique para saber mais sobre o SIGAE." border="0" title="Clique para saber mais sobre o SIGAE."/></a></td>
</tr>
<tr>
<td width="33%" align="center" height="1" valign="bottom">Ajuda</td>
<td width="34%" align="center" height="1" valign="bottom">Sobre</td>
</tr>
<tr>
<td width="33%" align="center" height="27" valign="bottom"> </td>
<td width="34%" align="center" height="27" valign="bottom"> </td>
</tr>
</tbody>
</table>
</div>
<div id="data">
</div>
</div>
<div id="espiralbot">
<img src="../imagens/espiralg.gif"/>
</div>
<ui:include src="_novoCadastro.xhtml" />
</div>
<p:confirmDialog message="Cadastrado com sucesso"
header="Cadastro de Estudante"
severity="alert"
closable="false"
closeOnEscape="false"
modal="true"
widgetVar="cdConfirma">
<h:form>
<p:commandButton value="Ok" oncomplete="cdConfirma.hide(); self.location = 'login.xhtml';"/>
</h:form>
</p:confirmDialog>
</h:body>
</html>
f2pro
Agosto 2, 2011, 1:10pm
#4
Só pra esclarece…
to usando Primefaces 3.0 M2 e JSF 2.0
faz um teste, tenta colocar o <h:form> desde o inicio da tua pagina de cadastro e incluindo esta pagina do include.
f2pro
Agosto 2, 2011, 2:47pm
#6
eu fiz diferente, criei somente uma pagina, sem includes como esta
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<link rel="stylesheet" type="text/css" href="est_lfe.css" />
</h:head>
<h:body>
<f:view contentType="text/html">
<div id="container">
<h:panelGrid columns="1">
<h:panelGrid columns="1">
<h:outputLabel>
Preencha os campos abaixo com o maior número de informações possível, os dados aqui informados serão utilizados por sua associação para melhor otimização do transporte.
</h:outputLabel>
<h:outputLabel>
Exceto quando indicado, o preenchimento de todos os campos é obrigatório.
</h:outputLabel>
<h:outputLabel>
É necessário que o você tenha pelo menos um endereço de e-mail para que este cadastro seja efetivado.
</h:outputLabel>
<h:outputLabel>
Se você já efetuou esse cadastro alguma vez, não é necessário cadastrar novamente, basta clicar em "estudantes", informar seu CPF e sua senha e atualizar as informações.
</h:outputLabel>
</h:panelGrid>
<h:panelGrid style="border: 0px;" cellpadding="0" cellspacing="10" columns="2">
<h:graphicImage url="../imagens/atencao_p.gif" style="width: 18px; height: 19px; text-align: left"/>
<h:outputLabel value="Leia antes de preencher" styleClass="fonte_cinza" style="text-align: left; font-weight: bold; "/>
</h:panelGrid>
<h:form id="formAssociado">
<p:panel id="panel" style="margin: 0px auto; border: 0px;">
<h:panelGrid columns="2" style="margin-left: 10px; border: 0px;">
<h:outputLabel value="*Nome: "/>
<p:inputText value="#{novoEstudanteMB.associado.nome}" style="width: 180px;" id="nome" required="true"
requiredMessage="campo [Nome] é obrigatório"/>
<h:outputLabel value="*RG: "/>
<p:inputText value="#{novoEstudanteMB.associado.rg}" style="width: 180px;" id="rg" required="true"
requiredMessage="campo [RG] é obrigatório"/>
<h:outputLabel value="Data Nascimento: "/>
<p:inputMask id="datanascimento" label="Data Nascimento" style="width: 180px" value="#{novoEstudanteMB.dataNascimento}" mask="99/99/9999">
<f:convertDateTime locale="pt_BR" timeZone="America/Sao_Paulo"/>
</p:inputMask>
<h:outputLabel value="Sexo: "/>
<h:selectOneMenu value="#{novoEstudanteMB.associado.sexo}">
<f:selectItem itemLabel="Masculino" itemValue="Masculino"/>
<f:selectItem itemLabel="Feminino" itemValue="Feminino"/>
</h:selectOneMenu>
<h:outputLabel value="Fumante: "/>
<h:selectOneMenu value="#{novoEstudanteMB.associado.fumante}">
<f:selectItem itemLabel="Não" itemValue="Não" />
<f:selectItem itemLabel="Sim" itemValue="Sim" />
</h:selectOneMenu>
<h:outputLabel value="Pai: "/>
<p:inputText id ="pai" style="width: 350px;" value="#{novoEstudanteMB.associado.pai}" maxlength="200"/>
<h:outputLabel value="Mãe: "/>
<p:inputText id ="mae" style="width: 350px" value="#{novoEstudanteMB.associado.mae}" maxlength="200"/>
<h:outputLabel value=""/><h:outputLabel value=""/>
<h:outputLabel value=""/><h:outputLabel value=""/>
<h:outputLabel value=""/><h:outputLabel value=""/>
<h:graphicImage url="../imagens/atencao_p.gif"/>
<h:outputLabel style="color: #666;" value="Os dados abaixo serão utilizados por você para futuros acessos ao cadastro "/>
<h:outputLabel value="*CPF: "/>
<p:inputMask id ="cpf" mask="999.999.999-99"
required="true" requiredMessage="Campo [CPF] obrigatório" style="width: 150px" value="#{novoEstudanteMB.associado.cpf}"/>
<h:outputLabel value="*Senha: "/>
<p:password value="#{novoEstudanteMB.associado.senha}"
required="true" maxlength="100"
requiredMessage="Insira uma senha"
promptLabel="Por favor digite a senha"
weakLabel="Baixa"
feedback="false"
minLength="2"
goodLabel="Boa"
strongLabel="Forte" />
<h:outputLabel value="*Confirmação da Senha: "/>
<p:password value="#{novoEstudanteMB.confirmaSenha}"
required="true" maxlength="100"
feedback="false"
minLength="2"
requiredMessage="Insira uma senha de confirmação"
promptLabel="Por favor insira a senha de confirmação" weakLabel="Baixa"
goodLabel="Boa" strongLabel="Forte" />
<h:outputLabel value="Email: " />
<p:inputText value="#{novoEstudanteMB.associado.email}" style="width: 180px;" id="em_est" required="true"
requiredMessage="campo [Nome] é obrigatório"/>
</h:panelGrid>
</p:panel>
</h:form>
<h:panelGrid border="0" cellpadding="0" cellspacing="0">
<p:growl showDetail="true" showSummary="true" id="msgs"/>
</h:panelGrid>
</h:panelGrid>
</div>
</f:view>
</h:body>
</html>
e continua dando erro…
e o pior que não é sempre sabe, as vezes da erro outras vezes não
e depende do componente sabe, se eu colocar mais um <p:inputText> ele da erro…
isso ta muito estranho
tanto na versão 2.2 quando 3.0 M2
será que é problema no Glassfish 3.1?
f2pro
Agosto 2, 2011, 3:52pm
#7
Pessoal… eu mudei a versão do GlassFish de 3.1 para 3.0…
alguem sabe o porque disso?
fllw…
Estou passando exatamente pelo mesmo problema.
Estou usando Primefaces 2.2.1, Glassfish 3.1.1 Web Profile e JSF é a implementação Mojarra 2.1.3 do próprio Glassfish.
Alguém pode nos ajudar?
f2pro ,
Tente trocar o seu managed bean para @SessionScoped que irá funcionar.
Eu sei que não é a solução para o problema, mas já é uma pista.
To com o mesmo problema. Alguem conseguiu?
Olá romulosb , conseguiu resolver o problema?
Eu estava com o mesmo problema, então fiz o que o Sandro recomendou e funcionou perfeitamente, porém eu estou utilizando o @ViewScoped
Jonathan_Sales ,
Se você acabou de executar/implantar o projeto, abriu o navegador e tentou acessar http://localhost:8080/meuFormulario.jsf , cujo managedbean usa um escopo que não seja o SessionScoped, com certeza o erro vai aparecer.
Mas se você tiver uma página bem simples. Por exemplo, um login.xhtml. Como segue abaixo:
login.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Teste</title>
</h:head>
<h:body>
<h:form>
<h:panelGrid columns="2">
<h:outputText value="Nome" />
<h:inputText value="#{loginBean.nome}" />
<h:outputText value="Password" />
<h:inputSecret value="#{loginBean.password}" />
</h:panelGrid>
<h:commandButton value="Login" action="#{loginBean.logar}" />
</h:form>
</h:body>
</html>
Desta vez você executa/implanta o projeto, acesse primeiramente o link http://localhost:8080/login.jsf e em seguida tente acessar o seu formulário que está dando erro. Vai funcionar independente do escopo que você estiver utilizando.
Só não sei ainda explicar o motivo.
Acho que esse problema tem uma relação com esse bug:
http://java.net/jira/browse/JAVASERVERFACES-2215
Temos uma biblioteca de componentes que começou a dar esse erro quando atualizamos para o Glassfish 3.1.1, no 3.0 funcionava normalmente. Acessando qualquer página “menor” (tamanho em bytes), a sessão é criada e podemos acessar páginas “maiores” sem problemas. O fogo é que qualquer workaround para isso parece POG.
rafabh3
Outubro 7, 2011, 3:42pm
#16
f2 pro, vc voltou para a versao 3.0 do glassfish e resolveu seu problema??? Estou com o mesmo problema aqui há 2 dias cara, se alguém tiver a soluçao pra isso posta aí por favor!!!
rafabh3
Outubro 7, 2011, 4:06pm
#17
f2 pro, quando vc voltou sua versao do glassfish resolveu seu problema??? Se alguém já tiver a soluçao pra esse tópipco poste aqui por favor!!!
[quote=ranophoenix]O pessoal tem resolvido utilizando esse artifício:
http://forum.primefaces.org/viewtopic.php?f=3&t=13151#p43963[/quote]
Pessoal,
já quebrei muito a cabeça com isso, e no meu caso,
incluir isso no web.xml resolveu !
<context-param>
<param-name>com.sun.faces.writeStateAtFormEnd</param-name>
<param-value>false</param-value>
</context-param>
Olá,
Por algum motivo o JSF tenta criar o viewScoped antes da sessão.
Podemos resolver de duas maneiras:
Colocar um <h:form> (vazio) logo depois da <h:body>:
<h:body>
<h:form></h:form>
<!-- página -->
</h:body>
Fazer qualquer chamada a um @SessionScoped antes do @ViewScoped :
<h:outputText value="#{beanSessao.algo}" />