首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

ognl.MethodFailedException: Method "

2011-11-13 
Struts2 报错,极度郁闷了下面我就只贴出关键错误信息出来,帖多了也是无用;ognl.MethodFailedException: Me

Struts2 报错,极度郁闷了
下面我就只贴出关键错误信息出来,帖多了也是无用;
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。总共报了很多个字段的错误,而且全都是一个错误模式。极度郁闷........

如果硬要我贴多些信息的话,待会告诉我,我把那些看着就恶心的多得像蚂蚁一样的错误信息都贴出来。。。

[解决办法]
你调的那个方法不要带参数,参数名写外面,在写get,set方法,你那个方法里面直接this。get
[解决办法]
你是不是xxx!method.action?
[解决办法]
这个异常的意思是说,setAsLimbsCause(String arg)这样的一个方法没找到。
很显然嘛,你定义的是byte型参数的方法。
你数据库里是什么类型?
[解决办法]
类型不匹配
[解决办法]
你提交的时候把方法传入到Action里面,传入参数的用 “! ” 这样做了 设一个断点 看进去了没有。 如果进去了 就是你义务逻辑有问题。
[解决办法]
应该是类型不对。画面是String,后台是什么类型。
[解决办法]
setAsLimbsCause 方法参数类型不对。你action中的setAsLimbsCause方法参数类型应该不是String
[解决办法]
类型不匹配 看看数据库里面的类型咯
[解决办法]
参数类型不匹配。pojo全部改用string,在处理类里面去改类型就没这么多麻烦啦
[解决办法]
看看你页面是怎么传递值的, Struts2 调用的那个方法的参数是 String[] ,(打印 double[].class 看看是
什么类型, 呵呵会有惊喜哦)

将整个表单都贴一下, 将 Action 对应字段与非默认的 getter/setter 贴一下;
如果有用自定义转换器也贴下...
:)
[解决办法]
自定义个类型转换器

Java code
import java.util.Map;import com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter;public class ShortConverter extends DefaultTypeConverter {        @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;        }    }}
[解决办法]
你的Action中有cla这个属性么?
[解决办法]
拦截器配了吗 
从页面传后台都是String 之所以能变成不同的类型 是因为有拦截器

[解决办法]
楼主有点不负责任呢,我辛苦给写了个类型转换器,是楼主没试还是有错阿,好歹给了答复!
[解决办法]
数据库中是什么类型?

热点排行