在我的应用程序中,我有一个文本字段映射到动作类中的日期。如果我输入15/12/2011(MM / dd / yyyy),它会自动将其转换为03/12/2012(MM / dd / yyyy)。
我的代码是:
jsp Page:
<s:textfield name="drDt" id="drDt" />
动作类:
private Date drDt;
public Date getDrDt() {
return drDt;
}
public void setDrDt(Date drDt) {
this.drDt = drDt;
}
问题在于代码:
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
sdf.parse(dateValue);
以上陈述有一些问题。
答案 0 :(得分:1)
这是“默认”行为。否则,请将dateFormat.setLenient()
设置为false
。设置为false
会在遇到无效日期时抛出Exception
,例如示例中的日期。你需要优雅地处理它。也许,向用户显示输入的日期不正确或无效的消息。准确地说,添加验证器来验证用户输入。
答案 1 :(得分:0)