O que eu estava com erro consegui resolver, agora tenho um outro problema.
O meu ResidencialBean ficou assim:
public List<SelectItem> getNomeResidencial() throws SiteException {
List<SelectItem> resultado = new ArrayList<SelectItem>();
for(Residencial nome : residencialDao.listNomeResidencial() ){
resultado.add(new SelectItem(nome, nome.toString()));
}
return resultado;
}
----------------------------------------------------------------------
Meu novo problema:
Quando eu altero o meu for que citei acima para apenas listResidencial, aparece em forma de código na web, pelo o que percebi é porque ele me retorna um int em forma de string. Agora quando está como eu postei acima o meu selectOneMenu não entra neste método.
Meu selectOneMenu:
<h:panelGroup id="residencialForm">
<p:selectOneMenu itemValue="#{residencialBean.residencial.nome}">
<f:selectItem itemLabel="Selecione" />
<f:selectItems itemValue="#{residencialBean.nomeResidencial }" />
</p:selectOneMenu>
Bom, se eu colocar o meu f:selectItems desta maneira:
<f:selectItems value="#{residencialBean.nomeResidencial }" />
Ele faz TUDO, retorna tudo certinho, mas a página apenas me mostra este erro:
exception
javax.servlet.ServletException: java.lang.String cannot be cast to modelo.Residencial
javax.faces.webapp.FacesServlet.service(FacesServlet.java:347)
org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
root cause
java.lang.ClassCastException: java.lang.String cannot be cast to modelo.Residencial
controle.ResidencialBean.getNomeResidencial(ResidencialBean.java:50)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
javax.el.BeanELResolver.getValue(BeanELResolver.java:87)
com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:173)
com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:200)
org.apache.el.parser.AstValue.getValue(AstValue.java:169)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189)
com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:106)
javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:190)
javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:178)
javax.faces.component.UISelectItems.getValue(UISelectItems.java:125)
org.primefaces.renderkit.InputRenderer.getSelectItems(InputRenderer.java:53)
org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeMarkup(SelectOneMenuRenderer.java:71)
org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeEnd(SelectOneMenuRenderer.java:65)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:879)
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:308)
com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:101)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:849)
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:300)
com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:181)
com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:125)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:849)
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:300)
com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:181)
com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:125)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:849)
org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:59)
org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:47)
org.primefaces.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:202)
org.primefaces.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:119)
org.primefaces.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:56)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:879)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1655)
javax.faces.render.Renderer.encodeChildren(Renderer.java:164)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:849)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1648)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1651)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1651)
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:389)
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:127)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:117)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:335)
org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
A minha linha 50 do ResidencialBean é exatamente o for do meu código postado no começo desta mensagem.
Agora se eu colocar o meu f:selectItems desta maneira:
<f:selectItems itemValue="#{residencialBean.nomeResidencial }" />
Ele nem acessa o método. (Coloquei para "debugar" apenas este método e nem parou nele).