Pessoal, por que toda vez que clico no botão “gerar” no .xhtml da esse erro?
Erro: DVERTÊNCIA: Definindo valor de atributo não serializável em ViewMap (chave: geradorBean, classe do valor: br.com.GeradorSerialProject.GeradorBean).
nov 01, 2016 3:41:07 PM com.sun.faces.application.view.FaceletViewHandlingStrategy handleRenderException
GRAVE: Error Rendering View[/pages/gerador.xhtml]
javax.el.PropertyNotFoundException: /pages/gerador.xhtml @19,91 value="#{geradorBean.gerador.dataVencimento}": Property ‘gerador’ not found on type br.com.GeradorSerialProject.GeradorBean
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:111)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
at javax.faces.component.UIOutput.getValue(UIOutput.java:174)
at javax.faces.component.UIInput.getValue(UIInput.java:291)
at org.primefaces.util.ComponentUtils.getValueToRender(ComponentUtils.java:81)
at org.primefaces.component.inputtext.InputTextRenderer.encodeMarkup(InputTextRenderer.java:71)
at org.primefaces.component.inputtext.InputTextRenderer.encodeEnd(InputTextRenderer.java:52)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312)
at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185)…
…javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:890)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:458)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:134)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)…
…org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: javax.el.PropertyNotFoundException: Property ‘gerador’ not found on type br.com.GeradorSerialProject.GeradorBean
at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:259)
at javax.el.BeanELResolver$BeanProperties.access$300(BeanELResolver.java:212)
at javax.el.BeanELResolver.property(BeanELResolver.java:346)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:92)
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
at org.apache.el.parser.AstValue.getValue(AstValue.java:169)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184)
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
… 46 more
@ManagedBean
@ViewScoped
public class GeradorBean {
private Gerador gerador;
public void gerarSerial() {
gerador = new Gerador();
String data = gerador.getDataVencimento();
int calculo = (Integer.parseInt(data)+132)/4;
gerador.setCodigoSerial(calculo);
}
gerador.xhtml
<h:form>
<center>
<h:panelGrid columns="2">
<p:outputLabel value="Data do Vencimento:" />
<p:inputText maxlength="50" size="30" value="#{geradorBean.gerador.dataVencimento}" />
<p:outputLabel value="Código Gerado:" />
<p:inputText maxlength="2" size="10" value="#{geradorBean.gerador.codigoSerial}"/>
</h:panelGrid>
<h:panelGrid columns="2">
<p:commandButton value="Gerar"
actionListener="#{geradorBean.gerarSerial()}" update=":mensagem" />
<p:commandButton value="Cancelar" />
</h:panelGrid>
</center>
</h:form>
Domain
public class Gerador {
private String dataVencimento;
private int codigoSerial;
public void setCodigoSerial(int codigoSerial) {
this.codigoSerial = codigoSerial;
}
public String getDataVencimento() {
return dataVencimento;
}
public void setDataVencimento(String dataVencimento) {
this.dataVencimento = dataVencimento;
}
public int getCodigoSerial() {
return codigoSerial;
}