Struts2 OGNL 自动转换Date类型的一些注意事项
Strut2 有比较完善的使用OGNL的jsp标签自动转化为对应的后台对象的功能。
这里java.util.Date的自动转化有一些需要注意的地方(局部转换):
1.必须要在struts的xml文件中,在对应action里加入一个name为“input”的result项。
不然使用的时候,strut2框架会报错,如下:
提示缺少一个名为 input 的result结果。
2. 如果需要使用自定义转化Date的话,对应的properties文件中的对应关系,最后一定不能有空格!还有不能习惯性的加“;”,不然会提示找不到类。
3. Date自动转化的格式的注意事项。
struts2框架可以实现对字符串对Date格式的自动转换,但对于用户在浏览器输入的格式还是有要求的。具体来讲,Struts2对Date格式转换是有要求的:
只能识别短(Short)格式和用户操作系统Local默认时间类型(中国标准,美国标准)。
以上的解释怎么解读呢?
所谓短格式,就是如下图所示,图例展示的都是系统Local地为中华人民共和国的短日期格式。也就是说,如果用户的系统Local是中国,那么下午的短周期格式Struts2都能够正常转化。
下图是Local位美国的短日期格式。
特别注意,yyyy-MM-dd或者yyyy/MM/dd这种格式在中国格式非常流行,但是在很多英语地区就不行,
比如:
前面是铺垫,接下来说重点。由于Edge、IE和Windows是微软是一家,所以使用微软家的浏览器要注意浏览器的默认语言是哪家,在哪里设置呢?
IE11为例:
点击“设置首选语言项”
设置你想要的语言为首选语言。如果你设置了English(United States)首选语言,那么你在IE,Edge浏览器输入yyyy-MM-dd或者yyyy/MM/dd,转化就会报错。
值得强调的事情是Chrome有自己的语言体系,不受这个影响。Chrome的语言设置在这里:
所以Struts2转化时间是一件很蛋疼的事情。如果想让自己的系统工作可控一些,建议使用全局自定义转换。怎么转?网上有很多例子,我就不写了。
最新文章
- 页面中多个script块之间的关系
- linux find命令
- http://blog.csdn.net/chenriwei2/article/details/38047119
- Mac下修改Hosts文件工具——Gas Mask
- CSRF攻击与防御
- python下载网页源码 写入文本
- charles 结合mocky 模拟数据
- Maven之问题解决汇总
- 使用WinDbg调试SQL Server查询
- typedef 和 const
- UITableViewController
- linux 安装jdk 配置tomcat
- WCF - 契约
- 剖析Jetty实现原理
- 解决方案命名空间“System.Web.Mvc”中不存在类型或命名空间名称“Ajax”(是否缺少程序集引用?)
- 2019 Android 高级面试题总结 从java语言到AIDL使用与原理
- 09-02 java 多态
- libev学习之ev_run
- R(8): tidyr
- mysql数据操作