一同事发现一个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对象了

最新文章

  1. 耿丹CS16-2班第五次作业汇总
  2. [Linux] 账户管理命令(二)
  3. linux系统网址
  4. android 拉伸图片
  5. 编写高质量代码改善C#程序的157个建议[泛型集合、选择集合、集合的安全]
  6. ASP.NET的一般处理程序对数据的基本操作
  7. 一分钟明白 VS manifest 原理
  8. C++ 简史
  9. 内核调试神器SystemTap — 探测点与语法(二)
  10. Gradle安装步骤
  11. Python内置函数(21)——filter
  12. Error response from daemon: conflict: unable to remove repository reference 解决方案
  13. 使用Calender类获取系统时间和时间和运算
  14. Centos6.8 下 从零开始 部署 Java Web 应用
  15. epoll_wait会被系统中断唤醒
  16. VMware Tools安装教程
  17. 《Linux内核分析》实践4
  18. The Microservices Workflow Automation Cheat Sheet
  19. NETCLR via C#第四版(文摘)
  20. Vue + Element UI 实现权限管理系统 前端篇(九):接口格式定义

热门文章

  1. 微信小程序之页面跳转路径问题
  2. Ajax通过FormData上传文件
  3. 安装mayavi和VTK库的血泪史
  4. 在你的网站实现qq登陆(php)
  5. Leetcode题解(十)
  6. KICKSTART无人值守安装
  7. undefined 与void 0
  8. JAVAscript学习笔记 jsBOM 第七节 (原创) 参考js使用表
  9. 《Linux命令行与shell脚本编程大全》 第七章理解Linux文件权限
  10. 配置ssh免密码登陆