读书人

struts出错后就必须重启tomcat否则程

发布时间: 2012-09-17 12:06:51 作者: rapoo

struts出错后就必须重启tomcat,否则程序无法继续运行
struts的自动从form中取得数据填充到action的属性时,类型转换出错,然后就必须重启tomcat,否则该action就再也无法使用,即使填写了正确的数据再提交也是同样的http status 500的错误,说no result for input

[解决办法]
不要继承自 ActionSupport,它是做了验证的(ValidationAware )。 实现 Action 接口
[解决办法]

探讨
1。我没有使用验证功能
2.用的是struts自己的数据转换
3.确实是tomcat受影响了

大家可以做个简单的试验
都用最简单的代码,直接struts2取form提交的内容
一个是数据转换的,比如你在action定义一个int的属性,但是你从form提交了一个string类型的,比如ABC,
提交后页面就会报错,就算你把ABC改成123再提交也是不行了,除非重启tomcat,但是……

[解决办法]
探讨

1。我没有使用验证功能
2.用的是struts自己的数据转换
3.确实是tomcat受影响了

大家可以做个简单的试验
都用最简单的代码,直接struts2取form提交的内容
一个是数据转换的,比如你在action定义一个int的属性,但是你从form提交了一个string类型的,比如ABC,
提交后页面就会报错,就算你把ABC改成123再提交也是不行了,除非重启tomcat,但……

[解决办法]
以前玩struts2的时候只要不用到校验和国际化一般我都不会去继承actionSupport的,所以这个问题昨天临时研究了下.!
继承actionSupport会校验数据,如果转换出错,会找你要input视图,没配就出错.! 如果你没有继承actionsupport的话, 页面该显示还是显示,只是后台会报找不到相应的set方法去填充请求参数值.!
这个事情客户端写一套正则表达式校验了得了算.!
[解决办法]
lz意思是不是出错后,你点击浏览器的返回重新输入,输入正确类型以后还是报错?
[解决办法]
探讨

1。我没有使用验证功能
2.用的是struts自己的数据转换
3.确实是tomcat受影响了

大家可以做个简单的试验
都用最简单的代码,直接struts2取form提交的内容
一个是数据转换的,比如你在action定义一个int的属性,但是你从form提交了一个string类型的,比如ABC,
提交后页面就会报错,就算你把ABC改成123再提交也是不行了,除非重启tomcat,但……

读书人网 >Java Web开发

热点推荐