WEB开发错误收集(二) ognl.OgnlException: target is null for setProperty(null, "name", [Ljava.lang.String;@f6

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

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

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

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值