Fiz uma busca a respeito do problema que estou enfrentando e só encontrei dois tópicos, os quais estão listados abaixo:
http://www.guj.com.br/posts/preList/31673/169737.java
http://www.guj.com.br/posts/preList/75389/411202.java
O primeiro é o que está mais perto do meu problema, mas o criador do tópico resolveu o problema e não postou a solução. A mensagem de erro apresentada é a seguinte:
Value binding '#{SistemaBean.todasRegionais}' of UISelectItem : {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /Sistema/form.jsp][Class: javax.faces.component.html.HtmlForm,Id: _idJsp0][Class: javax.faces.component.html.HtmlSelectOneMenu,Id: regionalSistema][Class: javax.faces.component.UISelectItem,Id: _idJsp1]} does not reference an Object of type SelectItem javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
Passei esta tarde de domingo tentando encontrar a solução deste meu problema e ainda não consegui.
Espero que alguém possa me ajudar.
Desde já, obrigado!
:arrow: Anexos
Código da Página<%@ include file="../WEB-INF/header.inc" %>
<f:view>
<h:form>
<h:inputText id="descricao" value="#{SistemaBean.sistema.descricao}" />
<h:selectOneMenu id="regionalSistema">
<f:selectItem value="#{SistemaBean.todasRegionais}" />
</h:selectOneMenu>
<h:commandButton value="Cadastrar" action="#{SistemaBean.cadastrar}"/>
<h:commandButton value="Cancelar" action="#{SistemaBean.cancelar}"/>
<h:inputHidden id="idSistema" value="#{SistemaBean.sistema.id}" />
</h:form>
</f:view>
public class SistemaBean {
private Sistema sistema = new Sistema();
private GerenciadorSistema gerenciador;
private DataModel model;
private String mensagem;
public SistemaBean() throws Exception{
gerenciador = new GerenciadorSistema();
sistema.setRegional(new Regional());
}
.
.
.
public List getTodasRegionais() throws Exception{
List regionaisS = new ArrayList();
List<Regional> regionais = new GerenciadorRegional().retornarRegional();
for (Regional elem : regionais) {
String id = Integer.toString(elem.getId());
regionaisS.add(new SelectItem(id, elem.getDescricao()));
}
return regionaisS;
}
.
.
.
}
public class GerenciadorRegional {
private RegionalDaoImpl dao;
public GerenciadorRegional() throws Exception{
dao = new RegionalDaoImpl();
}
.
.
.
public List<Regional> retornarRegional() throws Exception{
return dao.retrieveAll();
}
.
.
.
}
public class RegionalDaoImpl extends GeralDaoImpl implements RegionalDao{
public List<Regional> retrieveAll() {
Session s = getSession();
Criteria c = s.createCriteria(Regional.class);
return c.list();
}
}