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转化时间是一件很蛋疼的事情。如果想让自己的系统工作可控一些,建议使用全局自定义转换。怎么转?网上有很多例子,我就不写了。
Struts2 OGNL 自动转换Date类型的一些注意事项的更多相关文章
- springboot自动装备date类型报错问题
错误消息: Field error in object 'user' on field 'birthday': rejected value [2001-02-14]; codes [typeMism ...
- springMVC json自动将date类型转换为long
今天早上遇到了一个奇怪得问题,直接给后台发送请求返回得页面信息中显示时间是正常得,如:2016-03-17 15:42:11.0,但是通过AJAX获取得信息中显示得时间竟然是时间戳. 我首先检查后台传 ...
- Java String和Date的转换 Date类型操作
String—>Date String dateString = "2012-12-06 "; try { SimpleDateFormat sdf = new Simple ...
- springMVC注解@initbinder日期类型的属性自动转换
在实际操作中经常会碰到表单中的日期 字符串和Javabean中的日期类型的属性自动转换, 而springMVC默认不支持这个格式的转换,所以必须要手动配置, 自定义数据类型的绑定才能实现这个功能. 一 ...
- @RequestBody配合@JsonFormat注解实现字符串自动转换成Date
2018年08月28日 16:41:15 混合动力火锅 阅读数:440 在controller中使用@RequestBody可以自动将字符串转换成int或者将int转换成字符串,但是Date类型则 ...
- 3_PHP表达式_5_数据类型转换_类型自动转换
以下为学习孔祥盛主编的<PHP编程基础与实例教程>(第二版)所做的笔记. PHP类型转换分为类型自动转换和类型强制转换. 1.布尔型数据参与算数运算时,TRUE被转换为整数1,FALSE被 ...
- C语言:数据类型转换 自动转换 强制转换
数据类型转换就是将数据(变量.数值.表达式的结果等)从一种类型转换为另一种类型. 自动类型转换 自动类型转换就是编译器默默地.隐式地.偷偷地进行的数据类型转换,这种转换不需要程序员干预,会自动发生.1 ...
- struts2(二) 表单参数自动封装和参数类型自动转换
前篇文章对struts2的一个入门,重点是对struts2的架构图有一个大概的了解即可,之后的几篇文章,就是细化struts2,将struts2中的各种功能进行梳理,其实学完之后,对struts2的使 ...
- struts2(三)之表单参数自动封装与参数类型自动转换
前言 对struts2的使用不外乎这几点,参数自动封装,拦截器的使用,数据校验,ognl表达(值栈和actionContext的讲解),struts2的标签,struts2的国际化, struts2的 ...
随机推荐
- 记录一下两个比较常用的md5加密算法
第一个,计算字符串的md5值 public static String getMD5(String s){ String newString = null; byte[] inputByteArray ...
- android 获取Datepicker日期
1.使用的Android5.0系统,实现上面效果使用了alertdialog 2.布局文件: layout_dataselect <?xml version="1.0" en ...
- servlet 之 复习
servlet 他是我们第一个动态资源,servlet和JSP都是. servlet ===> server applet 运行在服务器端的小程序. 1.获得请求 2.处理请求 3.完成响应 s ...
- [Linux][PHP]安装swoole扩展
1.下载swoole 2.解压并配置 /usr/local/php/bin/phpize ./configure --enable-swoole-debug --enable-sockets --en ...
- laravel安装笔记
一.安装composer 安装之前将\php\php.ini文件中的php_openssl.dll扩展库开启,否则composer在安装过程中会出现错误提示. (我在安装过程中发现apache目录下的 ...
- git 的使用
在github上注册一个账号,然后可以将自己写的小项目保存到里面,那么我们怎么将代码git到github上呢? 1. 在github上创建一个远程库learngit(*这个名字可以随便起) 2. 然后 ...
- iOS 图形处理 Core Graphics Quartz2D 教程
Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎.它提供了低级别.轻量级.高保真度的2D渲染.该框架可以用于基于路径的 绘图.变换.颜色管理.脱屏 ...
- 无废话ExtJs 入门教程十九[API的使用]
无废话ExtJs 入门教程十九[API的使用] extjs技术交流,欢迎加群(201926085) 首先解释什么是 API 来自百度百科的官方解释:API(Application Programmin ...
- vs2008所有DTE.ExecuteCommand命令
下面列表中为我当前机器上visual studio 2008所有DTE.ExecuteCommand命令的内容: 其中:Build.开头对应“编译”菜单下命令(如:Build.RebuildSolut ...
- UVALive5031 Graph and Queries(Treap)
反向操作,先求出最终状态,再反向操作. 然后就是Treap 的合并,求第K大值. #include<cstdio> #include<iostream> #include< ...