DateFormat和JavaBean出错

时间:2013-10-02 07:45:08

标签: jsp

我正在尝试使用DateFormat。

如果我在jsp页面中写这个我没有问题

DateFormat df = new SimpleDateFormat("dd"); 
String print= df.format(new Date());
out.print(print);

如果我尝试在javabean中写这个

public class Date {
String printDate="";    

    public String DataAttualeFormatoItaliano (){

        DateFormat df = new SimpleDateFormat("dd"); 
        printDate=df.format(new Date());
                return  printDate;

    }

}

在我的jsp页面中,我以这种方式使用javabean

<jsp:useBean id="Data" class="Jeans.Date"/>
<%
out.print(Data.DataAttualeFormatoItaliano());
%>

我收到此错误

org.apache.jasper.JasperException: java.lang.IllegalArgumentException: Cannot format given Object as a Date
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:502)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:430)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

有人知道为什么吗? 谢谢

1 个答案:

答案 0 :(得分:1)

您的类(Date)具有相同的java.util.Date名称,因此您尝试将自己类的对象解析为String ;-)。您必须解析 java.util.Date 对象

DateFormat df = new SimpleDateFormat("dd"); 
printDate=df.format(new java.util.Date());
return printDate;