最近在开发中碰到了几个提交表单后找不到anction类的问题,这问题还比较奇葩,平常正常访问的类,在访问一些方法时突然报unknow class,而且该类下其他本来能正常访问的类方法也不能访问(报同样的错误,就好象访问方法后服务器直接把类删掉了一样)。总结了两个可能造成问题的地方,但是具体为什么会这样,作为一个小白,表示能解决问题,但不知道原因。不多说,框架是SSH,此前已排除路径错误、struts和spring配置错误的原因。
1、在实体类中定义属性时类型定义错误,导致struts不能正常组装对象从而抛出这个异常
//在实体类中由于大意,改了属性名之后没有将对应的类型也改过来
@Column(name="RATING_PREMIUM")
private Date dingji;//定级保费
@Column(name="YG_STAR")
private Date ygStar;//人员分级
@Column(name="CON_DATE")
private Date conDate;//转正日期
<--而页面中提交表单的时候是String -->
<td >定级保费:</td>
<td><input type="text" name="jInfo.dingji" class="int-text" value="${jobInfo.dingji }"/></td>
在action中定义了 private JobInfo jInfo;来接收表单数据,这个时候提交后就会报出上述异常,这个是属于平时写代码的时候图省事,直接复制,但没有将该改的地方改过来
2、input - name=contact
这个问题有点奇葩,费了我好半天才找出来,原因就是在jsp中定义了一个
<input type="text" name="contact" value=""/>
把这个name=“contact”换成其他的就可以正常运行了 难道contact是jsp的特定字段?
如果有大神看到这篇文章,请留下匆忙的脚步,给解答下原因。不胜感谢!