Olá a todos,
Estou com dificuldade em resolver uma coisa, se puderem ajudar, eu agradeço.
estou recebendo a seguinte exception:
20/09/2010 11:44:04 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet action threw exception
java.lang.IllegalArgumentException: Cannot invoke com.caelum.struts.modelo.Contato.setDataNascimento - argument type mismatch
at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:1778)
at org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:1759)
at org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1648)
at org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:1677)
at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1022)
at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:473)
at org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:823)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:194)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)
at java.lang.Thread.run(Thread.java:619)
Classe Contato
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.caelum.struts.modelo;
import java.io.Serializable;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Temporal;
/**
*
* @author HOUSE
*/
@Entity
public class Contato implements Serializable {
@Id
@GeneratedValue
private int id;
private String nome;
private String endereco;
private String email;
@Temporal(javax.persistence.TemporalType.DATE)
private Calendar dataNascimento;
public Calendar getDataNascimento() {
return dataNascimento;
}
public String getEmail() {
return email;
}
public String getEndereco() {
return endereco;
}
public String getNome() {
return nome;
}
public int getId() {
return id;
}
public void setDataNascimento(Calendar dataNascimento) {
this.dataNascimento = dataNascimento;
}
public void setEmail(String email) {
this.email = email;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public void setNome(String nome) {
this.nome = nome;
}
public void setId(int id) {
this.id = id;
}
}
novo.jsp:
<%--
Document : novo
Created on : 10/09/2010, 22:50:41
Author : HOUSE
--%>
<%@page import="com.caelum.struts.modelo.Contato"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt"%>
<html:html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Sistema de Teste do Struts</title>
</head>
<html:errors/>
<html:form action="/novoContato" focus="contato.endereco">
Nome:
<html:text property="contato.nome"/>
<br/>
Email:
<html:text property="contato.email"/>
<br/>
Endereço:
<html:text property="contato.endereco"/>
<br/>
Data de nascimento:
<html:text property="contato.dataNascimento"/>
<br/>
<html:submit>Enviar dados</html:submit>
<br/>
</html:form>
</html:html>
Não estou conseguindo fazer a conversão de um tipo String para Date, nem na JSP (utizando fmt, por exemplo), nem na Classe Contato como indica esse tópico: http://www.guj.com.br/posts/list/135775.java
Alguém poderia me dar uma força?
Desde já agradeço!
[]'s