如何在struts 2.2.3.1中输入具有特定日期格式的日期?

时间:2013-08-08 06:57:15

标签: java struts2

我想知道是否有办法强制输入struts中的日期格式,比如dd / MM / yyyy。
日期写在文本字段中。我读到这是一个区域敏感的主题,但是为了简单地改变格式而切换区域设置似乎太多了。

我知道我可以在Action类的方法中调用addFieldError(fieldName, errorMessage),但对我来说,感觉就像是一个日期格式应该被认为是在Action-validation.xml文件中配置的。我搜索配置属性文件,但没有找到工作示例。

使用自定义StrutsTypeConverteraddFieldError(fieldName, errorMessage)是唯一的方法吗?或者是否有另一个版本的struts,其中可以指定在文本字段中输入的日期格式? 更新: 我以为我已经足够清楚了,但是其他一些答案也是如此 用例是:用户在文本字段中手动输入任意格式的日期,然后struts2验证日期格式是否与程序员设置的格式相对应,相应地显示消息。
带有<s:date>标记的jQuery日期选择器可以替代我想要实现的目标,但它我的要求。此外,Javascript可以被禁用,使得日期选择器无用,jQuery是一个Javascript库,据我所知。

2 个答案:

答案 0 :(得分:0)

我的操作实现了ModelDriven但是日期格式无法在文本字段中强制提供,我确实使用了自己的验证器,但我将表单元素的映射更改为{{ 1}}在动作类中命名,然后使用带有String的验证器,从资源包中检索格式将其转换为日期,然后再次格式化日期,以查看表示是否与在文本字段中输入的那个。毕竟格式很清楚。
如果有其他建议我欢迎他们,这似乎是唯一的选择 我发现这个缺点至少很烦人。

答案 1 :(得分:0)

如果您希望在页面上使用特定格式的日期,我建议您使用struts 2 jquery datepicker。您可以在this url找到以下演示。转到widgets标签,选择datepicker