Struts2
这个异常是在页面提交表单的时候发生的,乍一看以为是Struts2类型转换的错误,但是程序中又压根儿没有用到Struts2的类型转换
首先这个问题,你遇到时候可能添加或者修改数据时,也成功执行,但就是控制台报错!
此时,有几个原因导致这个错误:
1. 数据库使用的是String,或者是Long型,检查bean中是否set,get方法有写对
解决办法:
把不一致的地方改成一致
2. 在页面提交表单项,参数和实体类名称不一致,例如Struts表单上对应的实体类名称不叫userName,叫name
解决办法:
jsp页面上的userName修改成name,和实体类对应。
注意:
要是还报错,是因为你仅仅修改jsp了,刷新项目,或者重新启动服务器,重新部署一下,就不会报错了。
最后一条:
假设你主键id是为String类型,数据库也保持一致,set get方法没问题,还有功能实现也没问题,但是就控制台报错。
你很可能是这样的
页面
//提交id时选择了隐藏域,type='hidden',所以提交过去的时候报了错,但是可以执`行`
<input type="hidden" name="cust_id" value="<s:property value='#customer.cust_id' />" >
因此你可以选择这样设置隐藏域,控制台就不会报错了,也可以实现原来的功能
<input type="text" name="cust_id" value="<s:property value='#customer.cust_id' />" style="display:none">
震惊!居然真的解决了~点个赞