Bom dia galera!
Estou tendo um problema com NullPointerException, em um ManagedProperty…
Tenho um formulario de cadastro de cliente, nele tem outro managedbean que é o comboBox (estado e cidade)…
E ao implementar o managedproperty começou dar erro.
Olha como está meu código:
[code]NovoClienteBean.java:
@ManagedBean(name=“novoClienteBean”)
@ViewScoped
public class NovoClienteBean implements Serializable {
private String codigo;
private String razao;
private String cnpj;
private String ie;
private String nome;
private String email;
private String endereco;
private String bairro;
@ManagedProperty(value="#{comboBean.estado}")
private Estado estado;
@ManagedProperty(value="#{comboBean.cidade}")
private Cidade cidade;
private String cep;
…[/code]
[code]clientes.xhtml:
<p:row>
<p:column styleClass=“formu”>
<h:outputLabel for=“estado” value=“Estado” />
</p:column>
<p:column>
<p:selectOneMenu id=“estado” value="#{comboBean.estado}" converter="#{converterEstado}" >
<f:selectItem itemLabel=“Selecione” />
<f:selectItems value="#{comboBean.estados}" var=“e” itemValue="#{e}" itemLabel="#{e.est_nome}" />
<f:ajax render=“cidade” event=“change” listener="#{comboBean.listaCidades}" />
</p:selectOneMenu>
<p:message id=“estadoMessage” for=“estadoMessage” />
</p:column>
</p:row>[/code]
[code]converterEstado.java:
@FacesConverter(value = “converterEstado”)
public class ConverterEstado implements Converter {
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
if (value != null && !value.equals("")) {
EstadoDao estDao = new EstadoDao();
return estDao.getEstadoById(Long.valueOf(value));
}
return null;
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
if (value instanceof Estado) {
Estado estado = (Estado) value;
return String.valueOf(estado.getEst_id());
}
return "";
}
}[/code]
[code]converterCidade.java:
@FacesConverter(value=“converterCidade”)
public class ConverterCidade implements Converter {
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
if (value != null && !value.equals("")) {
CidadeDao cidDao = new CidadeDao();
return cidDao.getCidadeById(Long.valueOf(value));
}
return null;
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
if (value instanceof Cidade) {
Cidade municipio = (Cidade) value;
return String.valueOf(municipio.getCid_id());
}
return "";
}
}[/code]
[code]entidade estado.java:
public class Estado implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = “est_id”)
private Long est_id;
@Column(name = “est_nome”, nullable=false)
private String est_nome;
@Column(name = “est_sigla”, unique=true, nullable=false)
private String est_sigla;
public long getEst_id() {
return est_id;
}
public void setEst_id(long est_id) {
this.est_id = est_id;
}[/code]
[code]comboBean.java:
@ManagedBean
@ViewScoped
public class ComboBean implements Serializable {
private final EstadoDao estDao = new EstadoDao();
private final CidadeDao cidDao = new CidadeDao();
private List<Estado> estados;
private List<Cidade> cidades;
private Cidade cidade;
private Estado estado;
public ComboBean() {
}
@PostConstruct
public void init() {
estados = estDao.listarTodos();
if(cidade == null){
cidade = new Cidade();
}
if(estado == null){
estado = new Estado();
}
}
public void listaCidades(AjaxBehaviorEvent event) {
cidades = cidDao.listarTodos(estado);
}
public Cidade getCidade() {
return cidade;
}
public void setCidade(Cidade cidade) {
this.cidade = cidade;
}
public List<Cidade> getCidades() {
return cidades;
}
public void setCidades(List<Cidade> cidades) {
this.cidades = cidades;
}
public Estado getEstado() {
return estado;
}
public void setEstado(Estado estado) {
this.estado = estado;
}
public List<Estado> getEstados() {
return estados;
}
public void setEstados(List<Estado> estados) {
this.estados = estados;
}
}[/code]
[code]Erro:
SEVERE: Error Rendering View[/vendas/clientes.xhtml]
java.lang.NullPointerException
at br.com.zanzini.entity.Estado.getEst_id(Estado.java:33)
at br.com.zanzini.converter.ConverterEstado.getAsString(ConverterEstado.java:35)
at org.primefaces.util.ComponentUtils.getValueToRender(ComponentUtils.java:68)
at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeLabel(SelectOneMenuRenderer.java:120)
at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeMarkup(SelectOneMenuRenderer.java:89)
at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeEnd(SelectOneMenuRenderer.java:62)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1764)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
at org.primefaces.component.panelgrid.PanelGridRenderer.encodeRow(PanelGridRenderer.java:137)
at org.primefaces.component.panelgrid.PanelGridRenderer.encodeStaticBody(PanelGridRenderer.java:107)
at org.primefaces.component.panelgrid.PanelGridRenderer.encodeBody(PanelGridRenderer.java:63)
at org.primefaces.component.panelgrid.PanelGridRenderer.encodeEnd(PanelGridRenderer.java:49)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:59)
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:43)
at org.primefaces.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:198)
at org.primefaces.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:115)
at org.primefaces.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:55)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1764)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:55)
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:43)
at org.primefaces.component.layout.LayoutUnitRenderer.encodeEnd(LayoutUnitRenderer.java:51)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1764)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:402)
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:594)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550)
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 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
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:722)[/code]
Linha 33 do Estado.java:
Linha 35 do converterEstado.java:
Desculpe o post super grande, eu quis detalhar bem o que está ocorrendo…
Sou novo em Java Web.
Obrigado desde já!
Abraço!