Problema Formulário JSF com relacionamento Hibernate

1 resposta
R

Tenho a classe Usuario que tem um relacionamento @OneToOne com um Complemento.

Estava cadastrando usando VRaptor assim:

//passava os ids
<input type="hidden" name="usuario.id" value="${usuario.id}"/>
<input type="hidden" name="usuario.complemento.id" value="${usuario.complemento.id}"/>

//exemplo do nome
<input name="usuario.nome" type="text" id="nome"/> 

//dai quando queria cadastrar no complemento fazia assim
<input name="usuario.complemento.empresa" type="text" id="empresa"/>

Só que tive que passar a usar JSF
Então logicamente ia fazer a mesma coisa já que estava funcionando.
Fiz Isso

<h:inputHidden value="#{usuarioBean.irmao.id}" />
 <h:inputHidden value="#{usuarioBean.irmao.complemento.id}" />

<h:inputText id="nome" value="#{usuarioBean.usuario.nome}" styleClass="grande"/>
<h:inputText id="empresa" value="#{usuarioBean.usuario.complemento.empresa}" styleClass="grande"/>

Teoricamente a mesma coisa, só que agora da esse erro:

javax.servlet.ServletException: /cadastro-usuario.xhtml @26,80 value="#{usuarioBean.usuario.complemento.id}": Target Unreachable, 'complemento' returned null javax.faces.webapp.FacesServlet.service(FacesServlet.java:256) org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141) org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)

root cause

javax.el.PropertyNotFoundException: /cadastro-usuario.xhtml @26,80 value="#{usuarioBean.usuario.complemento.id}": Target Unreachable, 'complemento' returned null

Eu tenho que iniciar o complemento? Como eu faço isso?

1 Resposta

B

Então uma idéia é setar direto o valor sem passar pelo campo hidden usando EL

Criado 15 de outubro de 2008
Ultima resposta 27 de nov. de 2008
Respostas 1
Participantes 2