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

Struts2 OGNL 自动转换Date类型的一些注意事项的更多相关文章

  1. springboot自动装备date类型报错问题

    错误消息: Field error in object 'user' on field 'birthday': rejected value [2001-02-14]; codes [typeMism ...

  2. springMVC json自动将date类型转换为long

    今天早上遇到了一个奇怪得问题,直接给后台发送请求返回得页面信息中显示时间是正常得,如:2016-03-17 15:42:11.0,但是通过AJAX获取得信息中显示得时间竟然是时间戳. 我首先检查后台传 ...

  3. Java String和Date的转换 Date类型操作

    String—>Date String dateString = "2012-12-06 "; try { SimpleDateFormat sdf = new Simple ...

  4. springMVC注解@initbinder日期类型的属性自动转换

    在实际操作中经常会碰到表单中的日期 字符串和Javabean中的日期类型的属性自动转换, 而springMVC默认不支持这个格式的转换,所以必须要手动配置, 自定义数据类型的绑定才能实现这个功能. 一 ...

  5. @RequestBody配合@JsonFormat注解实现字符串自动转换成Date

    2018年08月28日 16:41:15 混合动力火锅 阅读数:440   在controller中使用@RequestBody可以自动将字符串转换成int或者将int转换成字符串,但是Date类型则 ...

  6. 3_PHP表达式_5_数据类型转换_类型自动转换

    以下为学习孔祥盛主编的<PHP编程基础与实例教程>(第二版)所做的笔记. PHP类型转换分为类型自动转换和类型强制转换. 1.布尔型数据参与算数运算时,TRUE被转换为整数1,FALSE被 ...

  7. C语言:数据类型转换 自动转换 强制转换

    数据类型转换就是将数据(变量.数值.表达式的结果等)从一种类型转换为另一种类型. 自动类型转换 自动类型转换就是编译器默默地.隐式地.偷偷地进行的数据类型转换,这种转换不需要程序员干预,会自动发生.1 ...

  8. struts2(二) 表单参数自动封装和参数类型自动转换

    前篇文章对struts2的一个入门,重点是对struts2的架构图有一个大概的了解即可,之后的几篇文章,就是细化struts2,将struts2中的各种功能进行梳理,其实学完之后,对struts2的使 ...

  9. struts2(三)之表单参数自动封装与参数类型自动转换

    前言 对struts2的使用不外乎这几点,参数自动封装,拦截器的使用,数据校验,ognl表达(值栈和actionContext的讲解),struts2的标签,struts2的国际化, struts2的 ...

随机推荐

  1. shell 脚本之获取命令输出字符串以及函数参数传递

    在ubuntu 14.04之后,所有的U盘挂载也分用户之分,最近很多操作也和U盘有关,所以就研究了一上午shell脚本函数以及字符串操作的方法. 字符串操作: 获取他的命令输出比较简单,打个简单的比方 ...

  2. JS 删除对象属性

    updateNode: function(data) { if(data) { this.root[data.id] = data; } }, removeNodes: function(idsArr ...

  3. web应用 http 响应 url uri

    动态web  应用结构 WEB-INF --classes --lib web.xml     响应:   url   uri

  4. linux下ssh的几种验证方式

    ssh的认证方式有很多种,大概可以概括为以下几类: 1.pam认证方式 在配置文件/etc/ssh/sshd_config中对应参数:UsePAM 2.密钥认证方式 配置文件/etc/ssh/sshd ...

  5. Unity 3D 我来了

  6. js颠倒数组元素顺序reverse()

    颠倒数组元素顺序reverse() reverse() 方法用于颠倒数组中元素的顺序. 语法: arrayObject.reverse() 注意:该方法会改变原来的数组,而不会创建新的数组. 定义数组 ...

  7. MIT 6.828 JOS学习笔记5. Exercise 1.3

    Lab 1 Exercise 3 设置一个断点在地址0x7c00处,这是boot sector被加载的位置.然后让程序继续运行直到这个断点.跟踪/boot/boot.S文件的每一条指令,同时使用boo ...

  8. IDF实验室:牛刀小试

    被改错的密码[从格式和长度来推测出是MD5] 迷醉..人生第一道ctf题?据说是因为看起来像是MD5加密的格式,但是数了一下发现有33个字符,就推测???熊孩子多敲了一位进去.从32个变33个了,然后 ...

  9. php 冒泡排序 快速排序

    $a=array('3','8','1','4','11','7'); print_r($a); $len = count($a); //从小到大 for($i=1;$i<$len;$i++) ...

  10. 手动编译安装docker环境,以及偶尔出现的bug

    总结安装过程如下: 前提:安装git,go,make, docker(docker中编译docker) git clone https://git@github.com/docker/docker c ...