您的位置:首页 > 编程语言 > Java开发

ognl.OgnlException: target is null for setProperty(null, "newsid", [Ljava.lan

2013-05-16 10:14 417 查看
昨天写那个项目,发现所有的JSP界面的属性都报ognl.OgnlException: target is null for setProperty(null, "newid", [Ljava.lang.String;@bc56a2)这个错误,通过上网查找原因,最后发现我的问题是没有再pojo定义实体对象时,写了有参的构造 方法,却没有添加一个无参数的构造函数,可struts中,在页面提交时,通过ognl,先调用无参数的构造函数,然后再调用相应的setter方法去可
构造实体对象,没有无参数的构造函数,导致报错。

同时我还整理了几点导致这个错误的原因,收集下啦:

1. 实体对象一定要有一个无参数的构造函数。如NewsBean.java中要有个无参构造

2、为offset设置setter方法和getter方法。 如NewsAction中的news对象,要get/set,我这里就是这个缘故。

3、可以删除提交过来的表单的name属性。 如将input改成<s:textfiled />

4.这个错误信息主要因为webwork.devMode = true引起,因为ww在此中配置下对任何提交到action的参数强制需要setter方法,而我们在使用token的时候一般都没有正确的为每一个 token设置该参数,为此提交的token信息就会在这里一起一些错误信息,如果需要屏蔽掉这些的话,可以设置webwork.devMode = false来避免这种错误信息的抛出,当然这些错误在程序调试的时候是有用处了,我们可以根据这些信息来删除不必要的参数

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐