Ola pessoal,
estou com um probleminha no meu SelectItem. Pois bem, eu tenho uma algumas tabelas, neste post vou mostrar somente 2, pois aprendendo nas mesma, acredito que eu vou fazer nas outras a mesma coisa. Entao tenho 2 tabelas. Quero resgatar os nomes dos
VOU INSERIR A IMG PARA VOCES AVALIAREM AS TABL.
public class SetorBean implements Serializable {
//Atributos
private Setor setor = new Setor();
private List<Setor> setors;
private SetorDAO dao = new SetorDAO();
private PredioDAO pDAO = new PredioDAO();
public List<SelectItem> listPredios;
....
//getters and setters
public List<SelectItem> listPredios() throws ClassNotFoundException, SQLException {
List<SelectItem> toReturn = new LinkedList<SelectItem>();
for (Predio predio : pDAO.getAllPredios()) {
String id = Integer.toString(predio.getId());
toReturn.add(new SelectItem(id, predio.getNome()));
}
return toReturn;
}
<h:outputText value="Predio:" />
<h:selectOneMenu id="predio" value="#{setorBean.setor.predio.id}" required="true" requiredMessage="Informe o valor Predio" >
<f:selectItems value="#{setorBean.listPredios}" />
</h:selectOneMenu>
public void add(Setor generic) throws SQLException {
String query = "INSERT INTO Ouvidoria.Setor (PREDIO_ID, NOME, INSTANCIA, "
+ "TIPO_VARA, TIPO_AREA, TIPO_SETOR, TELEFONE, ATIVO) "
+ "VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
executeCommand(query,
generic.getPredio().getId(),
generic.getNome(),
generic.getInstancia(),
generic.getTipoVara(),
generic.getTipoArea(),
generic.getTipoSetor(),
generic.getTelefone(),
generic.getAtivo(),
generic.getId());
}
Bem pessoal esse e a problematica, quando eu vou inserir os dados do form aparece esse erro. Desculpem a minha ignorancia, ainda estou aprendendo, nao consegui resolver o problema e por isso estou aki humildemente pedindo ajuda. Eis o erro.
12/05/2011 10:12:14 com.sun.faces.lifecycle.ProcessValidationsPhase execute
AVISO: /setor.xhtml @61,146 value="#{setorBean.setor.predio.id}": Target Unreachable, 'predio' returned null
javax.el.PropertyNotFoundException: /setor.xhtml @61,146 value="#{setorBean.setor.predio.id}": Target Unreachable, 'predio' returned null
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95)
at com.sun.faces.renderkit.html_basic.MenuRenderer.convertSelectOneValue(MenuRenderer.java:202)
at com.sun.faces.renderkit.html_basic.MenuRenderer.getConvertedValue(MenuRenderer.java:319)
at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1028)
.........
javax.faces.FacesException: /setor.xhtml @61,146 value="#{setorBean.setor.predio.id}": Target Unreachable, 'predio' returned null
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:84)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
..........
Caused by: javax.el.PropertyNotFoundException: /setor.xhtml @61,146 value="#{setorBean.setor.predio.id}": Target Unreachable, 'predio' returned null
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95)
at com.sun.faces.renderkit.html_basic.MenuRenderer.convertSelectOneValue(MenuRenderer.java:202)
at com.sun.faces.renderkit.html_basic.MenuRenderer.getConvertedValue(MenuRenderer.java:319)
at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1028)
at javax.faces.component.UIInput.validate(UIInput.java:958)
at javax.faces.component.UIInput.executeValidate(UIInput.java:1209)
at javax.faces.component.UIInput.processValidators(UIInput.java:698)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1085)
at javax.faces.component.UIForm.processValidators(UIForm.java:244)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:10
Quem puder me ajudar, fico agradecido !!!!!
