ognl.OgnlException: target is null for setProperty

.target is null for setProperty(null, "x", [Ljava.lang.String;@1a48515) 

ognl.OgnlException: target is null for setProperty(null, "y", [Ljava.lang.String;@1d57c7) 

异常是在提交表单的时候发生的,但是我的前台页面中并没有x,y这些参数,这个错误并不会影响程序的运行,但是既然报错了总得有原因吧,网上查说没有设置set方法了,没有构造方法了....看的头晕,最后发现时提交按钮的事,我提交按钮时一个图片,提交按钮引用的是一个图片 

<input type="image" name="logon" src="/images/global/regloginbutton2.jpg" alt="" border="0" /> 

如果我把这个提交的按钮换成普通的提交<input type="submit" value="提交"/>就可以了,感觉是图片的问题,但是我前面也用过图片提交,没有发生过错误,最后发现罪魁祸首是name属性,因为设置了name属性,便要在struts中进行接收相应的值,而action里面是没有这个name值的,但是为什么报x,y而不报name值为空. 

struts.xml文件里面有这么一个"struts.devMode"。当设为true时,html表单数据中有和action属性匹配不上的参数名时就会提示这样的信息。我试了一下,果然如此,因此在开发过程中将这个属性设为true还是不错的,可以帮我们发现一些可能出现的问题。 

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

可以这样写:<input type="image" src="images/dl.gif" width="49" height="18" border="0"  οnclick= "javascript:document.form.submit()";> 
将name属性去掉。 

转载于:https://my.oschina.net/u/852387/blog/598233

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值