Boa noite galera, seguinte to tentando colocar uma selectOneMenu e esta dando erro
alguem pode me ajudar?
depois que add esse componente esta dando problema.
package br.com.unip.menudroidweb.bean;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.model.SelectItem;
import br.com.unip.menudroidweb.facade.GrupoProdutoFacade;
import br.com.unip.menudroidweb.facade.ProdutoFacade;
import br.com.unip.menudroidweb.model.GrupoProduto;
import br.com.unip.menudroidweb.model.Produto;
@ViewScoped
@ManagedBean (name = "produtoBean")
public class ProdutoBean extends AbstractBean implements Serializable {
private static final long serialVersionUID = -3644787609339087086L;
private Produto produto;
private List<SelectItem> grupoProdutos = new ArrayList<SelectItem>();
private GrupoProduto grupoProduto;
private List<Produto> produtoLista;
private ProdutoFacade produtoFacade;
private GrupoProdutoFacade grupoProdutoFacade;
public ProdutoFacade getProdutoFacade() {
if (produtoFacade == null) {
produtoFacade = new ProdutoFacade();
}
return produtoFacade;
}
public Produto getProduto() {
if (produto == null) {
produto = new Produto();
}
return produto;
}
public GrupoProduto getGrupoProduto() {
if (grupoProduto == null) {
grupoProduto = new GrupoProduto();
}
return grupoProduto;
}
public void setGrupoProduto(GrupoProduto grupoProduto) {
this.grupoProduto = grupoProduto;
}
public GrupoProdutoFacade getGrupoProdutoFacade() {
if (grupoProdutoFacade == null) {
grupoProdutoFacade = new GrupoProdutoFacade();
}
return grupoProdutoFacade;
}
public void setGrupoProdutoFacade(GrupoProdutoFacade grupoProdutoFacade) {
this.grupoProdutoFacade = grupoProdutoFacade;
}
public void setProduto(Produto produto) {
this.produto = produto;
}
public void createProduto() {
try {
produto.setGrupoProduto(grupoProduto);
getProdutoFacade().createProduto(produto);
closeDialog();
displayInfoMessageToUser("Registro criado com sucesso!");
loadProduto();
resetProduto();
} catch (Exception e) {
keepDialogOpen();
displayErrorMessageToUser("Ocorreu um erro na transação! Tente novamente.");
e.printStackTrace();
}
}
public void updateProduto() {
try {
getProdutoFacade().updateProduto(produto);
closeDialog();
displayInfoMessageToUser("Registro alterado com sucesso!");
loadProduto();
resetProduto();
} catch (Exception e) {
keepDialogOpen();
displayErrorMessageToUser("Ocorreu um erro na transação! Tente novamente.");
e.printStackTrace();
}
}
public void deleteProduto() {
try {
getProdutoFacade().deleteProduto(produto);
closeDialog();
displayInfoMessageToUser("Registro excluído com sucesso!");
loadProduto();
resetProduto();
} catch (Exception e) {
keepDialogOpen();
displayErrorMessageToUser("Ocorreu um erro na transação! Tente novamente.");
e.printStackTrace();
}
}
public List<SelectItem> getGrupoProdutos() {
grupoProdutos.clear();
grupoProdutos.add(new SelectItem(null, "Selecione"));
List<GrupoProduto> obterGrupoProduto = grupoProdutoFacade.listAll();
for (int i = 0; i < obterGrupoProduto .size(); i++) {
GrupoProduto gp = obterGrupoProduto.get(i);
SelectItem si = new SelectItem(gp.getIdGrupoProduto(), gp.getDescricao());
grupoProdutos.add(si);
}
return grupoProdutos;
}
public void setGrupoProdutos(List<SelectItem> grupoProdutos) {
this.grupoProdutos = grupoProdutos;
}
public List<Produto> getAllProduto() {
if (produtoLista == null) {
loadProduto();
}
return produtoLista;
}
private void loadProduto() {
produtoLista = getProdutoFacade().listAll();
}
public void resetProduto() {
produto = new Produto();
}
}
view
<!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:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:body>
<p:dialog widgetVar="incluirProduto" id="produtoCreateDialogId"
height="250" width="600" modal="true" closable="true"
draggable="false" resizable="false">
<h:form id="produtoCreateDialogForm" prependId="false">
<h:panelGrid columns="2">
<h:outputText value="* Descrição: " />
<h:inputText value="#{produtoBean.produto.descricao}"
required="true" label="Descrição: ">
</h:inputText>
<h:outputText value="* Preço de Custo " />
<h:inputText value="#{produtoBean.produto.precoCusto}"
required="true" label="Preço de Custo ">
</h:inputText>
<p:outputLabel for="grupoProduto" value="Grupo Produto"/>
<p:selectOneMenu id="grupoProduto" effect="fade" value="#{produtoBean.grupoProduto.idGrupoProduto}">
<f:selectItems value="#{produtoBean.grupoProdutos}"/>
</p:selectOneMenu>
<h:outputText value="* Preço de Venda " />
<h:inputText value="#{produtoBean.produto.precoVenda}"
required="true" label="Preço de Venda ">
</h:inputText>
<h:outputText value="Observação " />
<h:inputText value="#{produtoBean.produto.observacaoCardapio}"
required="false" label="Observação ">
</h:inputText>
<p:commandButton value="Gravar" icon="ui-icon-plus"
action="#{produtoBean.createProduto()}"
update=":produtoForm:produtoTable"
oncomplete="incluirProduto.hide()" />
<p:commandButton value="Cancelar" icon="ui-icon-cancel"
actionListener="#{produtoBean.resetProduto()}"
onclick="incluirProduto.hide();" type="button" />
</h:panelGrid>
</h:form>
</p:dialog>
</h:body>
</html>
Erro
Set 17, 2012 11:55:19 PM com.sun.faces.application.view.FaceletViewHandlingStrategy handleRenderException
SEVERE: Error Rendering View[/produto/dialogs/incluirproduto.xhtml]
javax.el.ELException: /produto/dialogs/incluirproduto.xhtml @26,60 value="#{produtoBean.grupoProdutos}": Error reading 'grupoProdutos' on type br.com.unip.menudroidweb.bean.ProdutoBean
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:114)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
at javax.faces.component.UISelectItems.getValue(UISelectItems.java:129)
at org.primefaces.renderkit.InputRenderer.getSelectItems(InputRenderer.java:53)
at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeMarkup(SelectOneMenuRenderer.java:68)
at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeEnd(SelectOneMenuRenderer.java:62)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312)
at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185)
at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
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.dialog.DialogRenderer.encodeContent(DialogRenderer.java:173)
at org.primefaces.component.dialog.DialogRenderer.encodeMarkup(DialogRenderer.java:103)
at org.primefaces.component.dialog.DialogRenderer.encodeEnd(DialogRenderer.java:41)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1786)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:424)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:124)
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.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at br.com.unip.menudroidweb.bean.ProdutoBean.getGrupoProdutos(ProdutoBean.java:121)
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 javax.el.BeanELResolver.getValue(BeanELResolver.java:87)
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:183)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
... 45 more
Set 17, 2012 11:55:19 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path [/menuDroidWeb] threw exception [null] with root cause
java.lang.NullPointerException
at br.com.unip.menudroidweb.bean.ProdutoBean.getGrupoProdutos(ProdutoBean.java:121)
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 javax.el.BeanELResolver.getValue(BeanELResolver.java:87)
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:183)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
at javax.faces.component.UISelectItems.getValue(UISelectItems.java:129)
at org.primefaces.renderkit.InputRenderer.getSelectItems(InputRenderer.java:53)
at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeMarkup(SelectOneMenuRenderer.java:68)
at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeEnd(SelectOneMenuRenderer.java:62)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312)
at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185)
at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
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.dialog.DialogRenderer.encodeContent(DialogRenderer.java:173)
at org.primefaces.component.dialog.DialogRenderer.encodeMarkup(DialogRenderer.java:103)
at org.primefaces.component.dialog.DialogRenderer.encodeEnd(DialogRenderer.java:41)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1786)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:424)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:124)
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.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
,
