zoukankan      html  css  js  c++  java
  • struts2 谷歌浏览器保存date类型数据时报错

    一同事发现一个bug,在chrome上保存一个表单时,后台会报错,而在firefox上则可以正常保存。

    奇怪的地方在于,后端的程序是同一个,而在浏览器上查看请求header时,两个浏览器对应的字段内容还完全相同

    xx.startTime:2012-01-01 00:00:00

    后端xx对象的setStartTime方法

    public void setStartTime(Date startTime) {
    this.startTime = startTime;
    }

    最终经过层层断点,struts2使用的是ognl表达式语言,把属性附到对象上去,由于属性时Date类型,typeConvert把string转换成Date时,ognl会根据浏览器请求时的local,来生成不同的dateTimeFormat对象列表,而安装的浏览器恰好是英文版,local为en-US,en-US下的时间格式化模式不包含能解析“2012-01-01 00:00:00”的模式,因此,对“2012-01-01 00:00:00”识别不了,而firefox是中文版的local是zh-CN,对应的dateTimeFormat列表包含了"yy-M-d H:mm:ss"因此成功转换成Date对象了

  • 相关阅读:
    函数参数
    字符编码
    本周内容
    int,float,str,list,dict,元组
    python 基础变量
    Python学习(小笔记一)
    🌐 网络管理
    📓 LVM相关
    📹 进程管理(二)
    🎬进程管理
  • 原文地址:https://www.cnblogs.com/windliu/p/5806293.html
Copyright © 2011-2022 走看看