下面我就只贴出关键错误信息出来,帖多了也是无用;
ognl.MethodFailedException: Method "setAsLimbsCause" failed for object com.zhi.ds.pojo.ClAssess@1192e9 [java.lang.NoSuchMethodException: setAsLimbsCause([Ljava.lang.String;)]
at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:823)java.lang.NoSuchMethodException: setAsLimbsCause([Ljava.lang.String;)
at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:810)
这是我在一个页面上填写信息后,点击提交保存后报错的;
上面的错误信息真是搞不懂了。那个方法明明就在pojo中定义了,却硬要说没这个方法。而且
setAsLimbsCause([Ljava.lang.String;) 这个地方,中的参数,定义的是 Short类型,可显示却为String,还在Java前面加个L。总共报了很多个字段的错误,而且全都是一个错误模式。极度郁闷........如果硬要我贴多些信息的话,待会告诉我,我把那些看着就恶心的多得像蚂蚁一样的错误信息都贴出来
ognl.MethodFailedException: Method "setAsLimbsCause" failed for object com.zhi.ds.pojo.ClAssess@1192e9 [java.lang.NoSuchMethodException: setAsLimbsCause([Ljava.lang.String;)]
at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:823)java.lang.NoSuchMethodException: setAsLimbsCause([Ljava.lang.String;)
at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:810)
这是我在一个页面上填写信息后,点击提交保存后报错的;
上面的错误信息真是搞不懂了。那个方法明明就在pojo中定义了,却硬要说没这个方法。而且
setAsLimbsCause([Ljava.lang.String;) 这个地方,中的参数,定义的是 Short类型,可显示却为String,还在Java前面加个L。总共报了很多个字段的错误,而且全都是一个错误模式。极度郁闷........如果硬要我贴多些信息的话,待会告诉我,我把那些看着就恶心的多得像蚂蚁一样的错误信息都贴出来
解决方案 »
- jdk 安装报了这样的错误?
- Jboss导入ejb-jar.xml文件出错,求解..
- 关于邮件群发的问题【请您放下脚步进来指教一二,谢谢!】
- 如何理解Hibernate中对象的几种关系 一对一(双,单向),多对一(双,单向),多对多(双,单向)
- 学习效率低,该怎么办??
- 邮件的getMessage调用后,报错MethodNotSupportedException: getMessage
- 谁来帮帮我啊~~struts中 validate后,不显示错误信息
- 奇怪,eclipse 3.0.2 + lomboz3.0.1 + jboss4.0.2中点击run server没有反应,怎么回事?
- 关于使用mysql时,ResultSet中getInt()方法的问题?
- 我得JBuilder8 的设置问题(再现等待,解决给分)
- struts2验证信息提示
- HQL 查询效率问题
郁闷,就几个字段报错而已,而且检查很多遍了,页面上的字段名字与pojo中的属性是一样的明天就是新的一年了,心寒了...
很显然嘛,你定义的是byte型参数的方法。
你数据库里是什么类型?
什么类型, 呵呵会有惊喜哦)将整个表单都贴一下, 将 Action 对应字段与非默认的 getter/setter 贴一下;
如果有用自定义转换器也贴下...
:)
@SuppressWarnings("unchecked")
public Object convertValue(Map<String, Object> context, Object value,
Class toType) {
if (toType==Short.class) {
String[] params = (String[]) value;
return Short.parseShort(params[0]);
}else if (toType==String.class) {
return ((Short) value).toString();
}else{
return null;
}
}}在WEB-INF/classes下放置xwork-conversion.properties文件 。在properties文件中的内容为:
待转换的类型=类型转换器的全类名
对于本例而言, xwork-conversion.properties文件中的内容为:
java.lang.Short=ShortConverter的权限定名
试试能成不,我也没测试过
return this.asLimbsCause;
} public void setAsLimbsCause(Short asLimbsCause) {
this.asLimbsCause = asLimbsCause;
}
,在jsp页面上,只要用这样就可以了撒<s:textfield name="cla.asLimbsCause" />.可就是我一提交,会报这个字段错误,就上面显示的那样的错误信息。。
从页面传后台都是String 之所以能变成不同的类型 是因为有拦截器