当我提交表单时,出现输入错误。JourneyDate
是“日期”的实例。但是,这里它变成了不被 setter 和 getter 接受的 String。
<s:hidden name="JourneyDate" value="%{JourneyDate}"></s:hidden>
我想要JourneyPlan
作为日期类型,但它变成了字符串。
在将值传递给 getter/setter 之前尝试拦截该值。例如,从您的表单发送 JourneyDateString,从字符串创建一个日期,然后将其传递给您的 getter/setter。就像是:
public void setJourneyDateString(String journeyDateString)
{
//journeyDateString could be "2013-03-28" for example
Date journeyDate = new SimpleDateFormat("yyyy-MM-dd").parse(journeyDateString);
setJourneyDate(journeyDate);
}
您在value
属性中设置的对象将保持其类型为Date
. 然后需要在action中定义相应的setter来设置Date
. 如果您将值放在标签的正文中,它将转换为字符串。