Struts2请求加上时间戳出现java.lang.NumberFormatException

最近做的项目框架用到了struts2,经常会在日志中看到如下告警: 
java.lang.NumberFormatException: For input string: "1322196864888" 
是由于时间戳造成的,查了下资料,看到“Struts2的类型转换是基于OGNL表达式的,只要我们把HTML输入项(表单元素和其他GET/POET的参数)命名为合法的OGNL表达式,就可以充分利用Struts2的转换机制。 ”。也就是说,struts2会将符合OGNL表达式的请求自动转换,会判断是否为int型,如果是则进行int转换。时间戳就是被转换成了int型,但时间戳的长度超过了int的长度,因此报错。 
知道原因,那么就好解决了。 

保证struts2验证不为int型即可。

换一张

你可能感兴趣的:(异常处理)