struts2框架关于加时间戳报异常java.lang.NumberFormatException: For input string:

给js验证码刷新方法加时间戳后,后台报异常java.lang.NumberFormatException: For input string: "1322196864888" ,但是只是点击更换验证码出现,刷新页面不会出现

代码:img1.src="${pageContext.request.contextPath}/CheckImg.action?"+new Date().getTime();

原因:Struts2的类型转换是基于OGNL表达式的,只要我们把HTML输入项(表单元素和其他GET/POET的参数)命名为合法的OGNL表达式,就可以充分利用Struts2的转换机制。 ”。也就是说,struts2会将符合OGNL表达式的请求自动转换,会判断是否为int型,如果是则进行int转换。时间戳就是被转换成了int型,但时间戳的长度超过了int的长度,因此报错。 

解决办法:保证struts2验证不为int型即可。   //注意此处加n  

代码:img1.src="${pageContext.request.contextPath}/CheckImg.action?n' "+new Date().getTime();

非原创 转载自转载自:http://blog.csdn.net/avinegar/article/details/7754316  的博客

你可能感兴趣的:(Java)