Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

quinta-feira, 14 de janeiro de 2010

Erro de tipo com rich:calendar

Eu tenho um rich:calendar sendo usado na minha tela de cadastro de pessoa.
Toda vez que eu ia submeter meu formulário, aparecia um erro assim:

javax.servlet.ServletException: org.apache.jasper.el.JspELException: /Pessoa/formPessoa.jsp(97,7) '#{pessoaBean.pessoa.nascimento}' java.lang.IllegalArgumentException: argument type mismatch
javax.faces.webapp.FacesServlet.service(FacesServlet.java:323)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)

Descobri que o problema era o tipo da variável nascimento que era sql e tinha que ser util. Sabendo disso eu alterei o tipo de variável no transfer. Só que na hora de inserir os dados no banco, por meio da classe DAO, eu somente ia poder usar o tipo sql.date para inserir.
Fiz uma pesquisa na web e descobri que é somente fazer o seguinte:

java.sql.Date dataNasc = new java.sql.Date(pessoa.getNascimento().getTime());

O modo acima permite você converter o tipo util para o tipo sql.

Nenhum comentário:

Postar um comentário