我想知道是否有一种方法可以强制输入 struts 中日期的格式,例如 dd/MM/yyyy 。
日期写在文本字段中。我读到这是一个对语言环境敏感的主题,但是为了简单地改变格式而切换语言环境似乎太过分了。
我知道我可以addFieldError(fieldName, errorMessage)
在我的 Action 类的方法中调用,但对我来说,感觉应该考虑在 Action-validation.xml 文件中配置日期格式。我搜索使用属性文件对其进行配置,但没有找到工作示例。
是使用自定义StrutsTypeConverter
和addFieldError(fieldName, errorMessage)
唯一的方法吗?或者是否有其他版本的 struts 可以指定在文本字段中输入的日期格式?
更新:
我以为我已经足够清楚了,但有些答案却证明了这一点。
用例是:用户在文本字段中手动输入任意格式的日期,然后 struts2 验证日期格式是否与程序员设置的格式相对应,并相应地显示一条消息。
带有<s:date>
标签的 jQuery 日期选择器可以替代我想要实现的目标,但这不是我所要求的。此外,可以禁用 Javascript,使日期选择器无用,据我所知,jQuery 是一个 Javascript 库。
问问题
1742 次
2 回答
0
我的操作已实现ModelDriven
,但无法在文本字段中强制提供日期格式,我确实使用了自己的验证器,但我将表单元素的映射更改String
为在操作类中命名,然后使用验证器使用SimpleDateFormat
从资源包中检索到的格式将其转换为日期,然后再次格式化日期,以查看表示是否与在文本字段中输入的表示相同。毕竟格式很清楚。
如果有其他建议我欢迎他们,这似乎是唯一的选择。
我觉得这个缺点至少很烦人。
于 2013-08-08T12:36:25.833 回答
0
如果您想在页面上使用特定格式的日期,我建议您使用struts 2 jquery datepicker
. 你可以在这个 url之后找到一个演示。转到widgets
选项卡,选择datepicker
。
于 2013-08-09T08:33:14.860 回答