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转化时间是一件很蛋疼的事情。如果想让自己的系统工作可控一些,建议使用全局自定义转换。怎么转?网上有很多例子,我就不写了。

 

    

   

转载于:https://www.cnblogs.com/wangxiaoha/p/5980950.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值