Pessoal tenho um inputText com um converter para trabalhar com um
objeto do tipo Cliente, nesse mesmo campo tenho um
valueChangeListener, gostaria de saber se é possivel no meu managed
bean resgatar o new e old value do meu objeto Cliente, estou fazendo
de uma forma que está me retornando um erro.
<h:inputText id="txtCliente"
value="#{pedidoHandler.pedido.cliente}"
size="60"
styleClass="inputText"
tabindex="4"
valueChangeListener="#{pedidoHandler.preferenciasCliente}">
<f:converter converterId="clienteConverter" />
<a4j:support event="onchange"/>
</h:inputText>
Managed Bean
public void preferenciasCliente(ValueChangeEvent event) {
System.out.println( ((Cliente)event.getNewValue()).getRazaoSocial
());
}
Erro:
8:33:14,859 ERROR AjaxViewRoot:327 - Error processing faces event for
the component formButton:txtCliente
javax.faces.event.AbortProcessingException: /pedido/
cadastrarPedido.xhtml @152,75 valueChangeListener="#
{pedidoHandler.preferenciasCliente}": java.lang.NullPointerException
at
javax.faces.event.MethodExpressionValueChangeListener.processValueChange
(MethodExpressionValueChangeListener.java:93)
at javax.faces.event.ValueChangeEvent.processListener
(ValueChangeEvent.java:134)
at javax.faces.component.UIComponentBase.broadcast
(UIComponentBase.java:771)
at org.ajax4jsf.component.AjaxViewRoot.processEvents
(AjaxViewRoot.java:321)
at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents
(AjaxViewRoot.java:294)
at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:
253)
at org.ajax4jsf.component.AjaxViewRoot.processValidators
(AjaxViewRoot.java:455)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute
(ProcessValidationsPhase.java:76)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:
118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:
178)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest
(BaseFilter.java:390)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:206)
at br.com.sensatta.pedido.util.HibernateSessionFilter.doFilter
(HibernateSessionFilter.java:40)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service
(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:
447)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at br.com.sensatta.pedido.managed.PedidoHandler.preferenciasCliente
(PedidoHandler.java:106)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:152)
at org.apache.el.MethodExpressionImpl.invoke
(MethodExpressionImpl.java:276)
at com.sun.facelets.el.TagMethodExpression.invoke
(TagMethodExpression.java:68)
at
javax.faces.event.MethodExpressionValueChangeListener.processValueChange
(MethodExpressionValueChangeListener.java:91)
... 31 more
O que estou fazendo de errado?
Obrigado pessoal.