Linha em branco no SelectOneMenu
22/04/2010
0
erro:
javax.servlet.ServletException: #{profissionalController.salvar}: javax.persistence.EntityNotFoundException: Unable to find br.org.creapi.entities.Sexo with id
nesse caso especifico, estou trabalhando com o SelectOneMenu de Sexo e é claro q ele não vai encontrar um Sexo com um id nulo q é quando eu seleciono a linha em branco.
xhtml do selectonemenu:
<h:outputText value="Sexo" styleClass="saidaTexto" for="sexo" /> <h:selectOneMenu id="sexo" value="#{profissionalController.profissional.sexo.idsexo}"> <f:selectItem itemValue="" itemLabel=""/> <f:selectItems value="#{profissionalController.sexo}" /> </h:selectOneMenu> <h:message for="sexo" styleClass="message" />
José Filho
Posts
22/04/2010
Angelo Santos
Vc poderia definir uma outra opção no combo relacionado ao sexo. Ex: 'Outro'.
Ou se quiser, vc pode definir na tabela sexo do banco como 'NULL';
Espero ter ajudado.
22/04/2010
José Filho
No banco já está null
29/04/2010
Dyego Carmo
Assim posso analisar corretamente !
29/04/2010
José Filho
Possuo a tabela Pessoa e Profissional, na tabela Profissional, tem um campo Assistente, q é um Profissional já previamente cadastrado, mas q não é obrigatório, ou seja, um Profissional pode ou não ter um Assistente, então, temos um auto-relacionamento. Da mesma forma, possuo outras entidades q se relacionam com Profissional, como Sexo, por exemplo, q é escolhido através de um selectonemenu no xhtml, no entanto gostaria que quando fosse cadastrar um novo Profissional, tanto o Assistente, quanto o Sexo, pudessem ficar em branco(nulo) e ai meu amigo, começa a baderna, agora os códigos:
Pessoa
@Entity @Table(name = "pessoa") @Inheritance(strategy=InheritanceType.JOINED) public class Pessoa implements java.io.Serializable { private static final long serialVersionUID = 1L; private String codigo; private String cpfcnpj; private String nome; private String email; private Profissional profissional; public Pessoa() { } public Pessoa(String codigo) { this.codigo = codigo; } @Id @Column(name = "codigo", unique = true, nullable = false) public String getCodigo() { return this.codigo; } public void setCodigo(String codigo) { this.codigo = codigo; } @Column(name = "cpfcnpj") public String getCpfcnpj() { return this.cpfcnpj; } public void setCpfcnpj(String cpfcnpj) { this.cpfcnpj = cpfcnpj; } @Column(name = "nome") public String getNome() { return this.nome; } public void setNome(String nome) { this.nome = nome; } @Column(name = "email", length = 60) public String getEmail() { return this.email; } public void setEmail(String email) { this.email = email; } @OneToOne(fetch = FetchType.LAZY, cascade=CascadeType.ALL) @PrimaryKeyJoinColumn public Profissional getProfissional() { return this.profissional; } public void setProfissional(Profissional profissional) { this.profissional = profissional; } }
Profissional - só o necessário
@Entity @Table(name = "profissional") @PrimaryKeyJoinColumn(name = "codigo") public class Profissional extends Pessoa implements java.io.Serializable { private static final long serialVersionUID = 1L; private Sexo sexo; private Tiporegistro tiporegistro; private Situacaoregistro situacaoregistro; private Profissional assistente; private Date datanascimento; public Profissional() { } @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "idsexo", nullable = true) public Sexo getSexo() { return this.sexo; } public void setSexo(Sexo sexo) { this.sexo = sexo; } @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "idtiporegistro", nullable = false) public Tiporegistro getTiporegistro() { return this.tiporegistro; } public void setTiporegistro(Tiporegistro tiporegistro) { this.tiporegistro = tiporegistro; } @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "idsituacaoregistro", nullable = false) public Situacaoregistro getSituacaoregistro() { return this.situacaoregistro; } public void setSituacaoregistro(Situacaoregistro situacaoregistro) { this.situacaoregistro = situacaoregistro; } @ManyToOne(fetch = FetchType.EAGER, optional=true) @JoinColumn(name = "rnpassistente", nullable = true) public Profissional getAssistente() { return assistente; } public void setAssistente(Profissional assistente) { this.assistente = assistente; } @Temporal(TemporalType.DATE) @Column(name = "datanascimento", length = 13) public Date getDatanascimento() { return this.datanascimento; } public void setDatanascimento(Date datanascimento) { this.datanascimento = datanascimento; } }
Sexo
@Entity @Table(name = "sexo") public class Sexo implements Serializable { private static final long serialVersionUID = 1L; private String idsexo; private String descricao; private Set<Profissional> profissionais; public Sexo() { } public Sexo(String idsexo) { this.idsexo = idsexo; } public Sexo(String idsexo, String descricao, Set<Profissional> profissionais) { this.idsexo = idsexo; this.descricao = descricao; this.profissionais = profissionais; } @Id @Column(name = "idsexo", unique = true, nullable = false, length = 1) public String getIdsexo() { return this.idsexo; } public void setIdsexo(String idsexo) { this.idsexo = idsexo; } @Column(name = "descricao", length = 10) public String getDescricao() { return this.descricao; } public void setDescricao(String descricao) { this.descricao = descricao; } @OneToMany(fetch = FetchType.LAZY, mappedBy = "sexo") public Set<Profissional> getProfissionais() { return this.profissionais; } public void setProfissionais(Set<Profissional> profissionais) { this.profissionais = profissionais; } }
ProfissionalController - como é grande, vou colocar somente o q acho pertinente
@Controller("profissionalController") @Scope("session") public class ProfissionalController { private Profissional profissional; private Pessoa pessoa; @Resource private DaoGenerico<Profissional, String> profissionalDao; @Resource private DaoGenerico<Sexo, String> sexoDao; private DataModel model; private Map<String, Object> sexoItem = null; private Map<String, Object> tiporegistroItem = null; private Map<String, Object> situacaoregistroItem = null; public ProfissionalController() { this.profissional = new Profissional(); } public Map<String, Object> getSexo() { sexoItem = new LinkedHashMap<String, Object>(); sexoItem.put("", ""); for (Iterator<?> iter = sexoDao.todos(2).iterator(); iter.hasNext();) { Sexo c = (Sexo) iter.next(); sexoItem.put(c.getDescricao(), c.getIdsexo());// label,value } return sexoItem; } public Map<String, Object> getTipoRegistro() { tiporegistroItem = new LinkedHashMap<String, Object>(); for (Iterator<?> iter = tiporegistroDao.todos(2).iterator(); iter .hasNext();) { Tiporegistro c = (Tiporegistro) iter.next(); tiporegistroItem.put(c.getDescricao(), c.getIdtiporegistro());// label,value } return tiporegistroItem; } public Map<String, Object> getSituacaoRegistro() { situacaoregistroItem = new LinkedHashMap<String, Object>(); for (Iterator<?> iter = situacaoregistroDao.todos(2).iterator(); iter .hasNext();) { Situacaoregistro c = (Situacaoregistro) iter.next(); situacaoregistroItem.put(c.getDescricao(), c .getIdsituacaoregistro());// label,value } return situacaoregistroItem; } public String novo() { this.profissional = new Profissional(); this.profissional.setTiporegistro(new Tiporegistro()); getTipoRegistro(); this.profissional.setSituacaoregistro(new Situacaoregistro()); getSituacaoRegistro(); this.profissional.setSexo(new Sexo()); getSexo(); this.profissional.setAssistente(new Profissional()); pessoa = new Pessoa(); novoRegistro = true; return "formProfissional"; } public String salvar() { //isso já foi gambiarra tentando corrigir o problema if (profissional.getSexo().getIdsexo().equals("")) { profissional.setSexo(null); } else { profissional.setSexo(sexoDao.pesquisarPorId(profissional.getSexo() .getIdsexo())); } if (profissional.getAssistente().getCodigo().equals("")) { profissional.setAssistente(null); } else { profissional.setAssistente(profissionalDao .pesquisarPorId(profissional.getAssistente().getCodigo())); } //aqui começa o salvar de verdade if (novoRegistro == true) { profissionalDao.salvar(profissional); FacesUtils.mensErro("Registro Salvo com Sucesso!"); } else { profissionalDao.atualizar(profissional); FacesUtils.mensErro("Registro Atualizado com Sucesso!"); } return "sucesso"; } public String editar() { FacesContext context = FacesContext.getCurrentInstance(); Profissional profissional = (Profissional) context.getExternalContext() .getRequestMap().get("item"); // if (profissional.getSexo() == null) { profissional.setSexo(new Sexo()); } if (profissional.getAssistente() == null) { profissional.setAssistente(new Profissional()); } // //o salvar era pra ser só essa parte aqui setProfissional(profissional); return "formProfissional"; }
formProfissional.xhtml:
<!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:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:rich="http://richfaces.org/rich" xmlns:a4j="http://richfaces.org/a4j" xmlns:stella="http://stella.caelum.com.br/faces" xmlns:c="http://java.sun.com/jstl/core"> <ui:composition template="template.xhtml"> <a4j:keepAlive beanName="profissionalController" /> <ui:define name="titulo">Profissional</ui:define> <ui:define name="content"> <div id="formulario"> <h1>Cadastrar Profissional</h1> <hr /> <br /> <fieldset><legend>Dados Pessoais</legend> <h:panelGrid columns="3" styleClass="panelGrid" columnClasses="pgColumn1,pgColumn2,pgColumn3"> <h:outputText value="Sexo" styleClass="saidaTexto" for="sexo" /> <h:selectOneMenu id="sexo" value="#{profissionalController.profissional.sexo.idsexo}"> <f:selectItems value="#{profissionalController.sexo}" /> </h:selectOneMenu> <h:message for="sexo" styleClass="message" /> <h:outputText value="RNP Assistente" styleClass="saidaTexto" for="rnpassistente" /> <h:inputText id="rnpassistente" value="#{profissionalController.profissional.assistente.codigo}" size="15" > <a4j:support event="onblur" reRender="resultado" /> </h:inputText> <h:message for="rnpassistente" styleClass="message" />
Bom, quanto a essas linhas do editar:
if (profissional.getSexo() == null) {
profissional.setSexo(new Sexo());
}
if (profissional.getAssistente() == null) {
profissional.setAssistente(new Profissional());
}
é uma gambiarra eu sei, ao fazer uma pesquisa pelo profissional numa tela de consulta, quando clico no registro exibido em um ExtendedDataTable, para ser exibido no formProfissional.xhtml, já dá um erro:
Caused by: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: br.org.creapi.entities.Profissional.assistente -> br.org.creapi.entities.Profissional at org.hibernate.engine.CascadingAction$9.noCascade(CascadingAction.java:387) at org.hibernate.engine.Cascade.cascade(Cascade.java:172) at org.hibernate.event.def.AbstractSaveEventListener.cascadeBeforeSave(AbstractSaveEventListener.java:451) at org.hibernate.event.def.DefaultPersistEventListener.entityIsPersistent(DefaultPersistEventListener.java:158) at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:132) at org.hibernate.impl.SessionImpl.firePersistOnFlush(SessionImpl.java:826) at org.hibernate.impl.SessionImpl.persistOnFlush(SessionImpl.java:818) at org.hibernate.engine.CascadingAction$9.cascade(CascadingAction.java:357) at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:392) at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:335) at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:204) at org.hibernate.engine.Cascade.cascade(Cascade.java:161) at org.hibernate.event.def.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:154) at org.hibernate.event.def.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:145) at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:88) at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:58) at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:1175) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1251) at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102) at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:236) ... 67 more
não entendo porque ele se refere a salvar, já q só estou tentando visualizar os dados;
De outra forma se tiro as referidas linhas, consigo visualizar as informações do registro, no entanto ao tentar salvá-lo (tanto faz se é um novo ou edição), outro erro, mas só quando não há um assistente já associado ao profissional e sexo não definido:
javax.servlet.ServletException: /formProfissional.xhtml @398,81 value="#{profissionalController.profissional.assistente.codigo}": Target Unreachable, 'assistente' returned null javax.faces.webapp.FacesServlet.service(FacesServlet.java:277) org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206) org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388) org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515) org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:113) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) root cause javax.el.PropertyNotFoundException: /formProfissional.xhtml @398,81 value="#{profissionalController.profissional.assistente.codigo}": Target Unreachable, 'assistente' returned null com.sun.facelets.el.TagValueExpression.getType(TagValueExpression.java:62) com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:92) javax.faces.component.UIInput.getConvertedValue(UIInput.java:942) javax.faces.component.UIInput.validate(UIInput.java:868) javax.faces.component.UIInput.executeValidate(UIInput.java:1072) javax.faces.component.UIInput.processValidators(UIInput.java:672) javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1058) javax.faces.component.UIForm.processValidators(UIForm.java:234) org.ajax4jsf.component.AjaxViewRoot$3.invokeContextCallback(AjaxViewRoot.java:447) org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:240) org.ajax4jsf.component.AjaxViewRoot.processValidators(AjaxViewRoot.java:463) com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76) com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) javax.faces.webapp.FacesServlet.service(FacesServlet.java:265) org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206) org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388) org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515) org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:113) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
e é isso, desculpe a quantidade de informação, mas, acho necessário para q vc possa analizar o problema como um todo e apesar de minha dúvida inicial ser relacionada ao sexo, o problema do Assistente é praticamente igual, pq se tirar toda referencia do projeto ao assistente, o erro dá no sexo.
Obrigado
30/04/2010
Dyego Carmo
O que voce fez nao foi um xunxo...
Somente criando o objeto o JSF vai conseguir acessa-lo...
para evitar este IF voce pode colocar os creates DIRETO na classe de pessoa...
onde estiver por exemplo:
private Sexo sexo;
ponha:
private Sexo sexo = new Sexo();
se vc estiver utilizando Java EE 6 bote um @Valid em cima , assim ele vai validar se o Sexo é um objeto valido :)
03/05/2010
José Filho
Eu pergunto a você, mesmo utilizando só o Tomcat, posso fazer uso do Java EE? Ou obrigatoriamente tenho q ter um Servidor de Aplicações (GlassFish, JBoss);
Será q essa versão do Eclipse tem suporte ao Java EE 6?
Estou te perguntando isso pq coloquei a anotação @Valid, mas não foi reconhecida, ou o Eclipse não dá suporte ao Java EE 6 ou o meu projeto não está fazendo uso do Java EE 6;
Tem alguma outra forma de resolver meu problema, sem o @Valid?
Obrigado.
03/05/2010
Dyego Carmo
onde estiver por exemplo:
private Sexo sexo;
ponha:
private Sexo sexo = new Sexo();
03/05/2010
José Filho
private Sexo sexo = new Sexo();
quando vou gravar, o erro:
javax.el.PropertyNotFoundException: /formProfissional.xhtml @131,64 value="#{profissionalController.profissional.sexo.idsexo}": Target Unreachable, 'sexo' returned null com.sun.facelets.el.TagValueExpression.getType(TagValueExpression.java:62) com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:92) com.sun.faces.renderkit.html_basic.MenuRenderer.convertSelectOneValue(MenuRenderer.java:188) com.sun.faces.renderkit.html_basic.MenuRenderer.getConvertedValue(MenuRenderer.java:301) javax.faces.component.UIInput.getConvertedValue(UIInput.java:942) javax.faces.component.UIInput.validate(UIInput.java:868) javax.faces.component.UIInput.executeValidate(UIInput.java:1072) javax.faces.component.UIInput.processValidators(UIInput.java:672) javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1058) javax.faces.component.UIForm.processValidators(UIForm.java:234) org.ajax4jsf.component.AjaxViewRoot$3.invokeContextCallback(AjaxViewRoot.java:447) org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:240) org.ajax4jsf.component.AjaxViewRoot.processValidators(AjaxViewRoot.java:463) com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76) com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) javax.faces.webapp.FacesServlet.service(FacesServlet.java:265) org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206) org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388) org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515) org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:113) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
04/05/2010
Dyego Carmo
Cole aqui sua nova classe Profissional.
05/05/2010
José Filho
package br.org.creapi.entities; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.PrimaryKeyJoinColumn; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; @Entity @Table(name = "profissional") @PrimaryKeyJoinColumn(name = "codigo") public class Profissional extends Pessoa implements java.io.Serializable { private static final long serialVersionUID = 1L; private Sexo sexo = new Sexo(); private Tiporegistro tiporegistro; private Situacaoregistro situacaoregistro; private Profissional assistente; private Date datanascimento; public Profissional() { } @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "idsexo", nullable = true) public Sexo getSexo() { return this.sexo; } public void setSexo(Sexo sexo) { this.sexo = sexo; } @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "idtiporegistro", nullable = false) public Tiporegistro getTiporegistro() { return this.tiporegistro; } public void setTiporegistro(Tiporegistro tiporegistro) { this.tiporegistro = tiporegistro; } @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "idsituacaoregistro", nullable = false) public Situacaoregistro getSituacaoregistro() { return this.situacaoregistro; } public void setSituacaoregistro(Situacaoregistro situacaoregistro) { this.situacaoregistro = situacaoregistro; } @Temporal(TemporalType.DATE) @Column(name = "datanascimento", length = 13) public Date getDatanascimento() { return this.datanascimento; } public void setDatanascimento(Date datanascimento) { this.datanascimento = datanascimento; } @ManyToOne(fetch = FetchType.EAGER, optional=true) @JoinColumn(name = "rnpassistente", nullable = true) public Profissional getAssistente() { return assistente; } public void setAssistente(Profissional assistente) { this.assistente = assistente; } }
O editar ficou assim:
public String editar() { novoRegistro = false; FacesContext context = FacesContext.getCurrentInstance(); Profissional profissional = (Profissional) context.getExternalContext() .getRequestMap().get("item"); // if (profissional.getSexo() == null) { // profissional.setSexo(null); // } if (profissional.getAssistente() == null) { profissional.setAssistente(null); } setProfissional(profissional); return "formProfissional"; }
e o salvar, com ou sem o bloco comentado, dá erro:
public String salvar() { // if (profissional.getSexo().getIdsexo().equals("")) { // profissional.setSexo(null); // } else { // profissional.setSexo(sexoDao.pesquisarPorId(profissional.getSexo() // .getIdsexo())); // } if (profissional.getAssistente().getCodigo().equals("")) { profissional.setAssistente(null); } else { profissional.setAssistente(profissionalDao .pesquisarPorId(profissional.getAssistente().getCodigo())); } if (novoRegistro == true) { profissionalDao.salvar(profissional); FacesUtils.mensErro("Registro Salvo com Sucesso!"); } else { profissionalDao.atualizar(profissional); FacesUtils.mensErro("Registro Atualizado com Sucesso!"); } return "sucesso"; }
07/05/2010
José Filho
type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception javax.servlet.ServletException: /formProfissional.xhtml @131,64 value="#{profissionalController.profissional.sexo.idsexo}": Target Unreachable, 'sexo' returned null javax.faces.webapp.FacesServlet.service(FacesServlet.java:277) org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206) org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388) org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515) org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:113) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) root cause javax.el.PropertyNotFoundException: /formProfissional.xhtml @131,64 value="#{profissionalController.profissional.sexo.idsexo}": Target Unreachable, 'sexo' returned null com.sun.facelets.el.TagValueExpression.getType(TagValueExpression.java:62) com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:92) com.sun.faces.renderkit.html_basic.MenuRenderer.convertSelectOneValue(MenuRenderer.java:188) com.sun.faces.renderkit.html_basic.MenuRenderer.getConvertedValue(MenuRenderer.java:301) javax.faces.component.UIInput.getConvertedValue(UIInput.java:942) javax.faces.component.UIInput.validate(UIInput.java:868) javax.faces.component.UIInput.executeValidate(UIInput.java:1072) javax.faces.component.UIInput.processValidators(UIInput.java:672) javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1058) javax.faces.component.UIForm.processValidators(UIForm.java:234) org.ajax4jsf.component.AjaxViewRoot$3.invokeContextCallback(AjaxViewRoot.java:447) org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:240) org.ajax4jsf.component.AjaxViewRoot.processValidators(AjaxViewRoot.java:463) com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76) com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) javax.faces.webapp.FacesServlet.service(FacesServlet.java:265) org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206) org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388) org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515) org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:113) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) note The full stack trace of the root cause is available in the Apache Tomcat/6.0.26 logs.
14/05/2010
Dyego Carmo
Que erro estranho !
Clique aqui para fazer login e interagir na Comunidade :)