WARN ognl.OgnlValueStack异常解决办法

  WARN com.opensymphony.xwork2.ognl.OgnlValueStack:60 - Error setting expression 'ssc.x' with value '[Ljava.lang.String;@28d320d6'
ognl.OgnlException: target is null for setProperty(null, "x", [Ljava.lang.String;@28d320d6)
ognl.OgnlException: target is null for setProperty(null, "y", [Ljava.lang.String;@32a88bc2)
的解决办法

Struts2
   这个异常是在页面提交表单的时候发生的,乍一看以为是Struts2类型转换的错误,但是程序中又压根儿没有用到Struts2的类型转换,那么是什么原因导致的呢?
<input type="hidden" name="ssc.x" id="ssc.x" value='${ssc.x}'/>
<input type="hidden" name="ssc.y" id="ssc.y" value='${ssc.y}'/>

   如上面的标签中写的这样,提交表单时会将name为ssc.x,ssc.y属性提交到对应action上,而对应的action类会进行接收相应的值,查找它的set 和 get方法,如果在对应的action类里面没有对应ssc.x,ssc.y这个属性,就会出现如上错误。

解决办法是:1.在对应action类里创建ssc.x,ssc.y这两个属性,生成set,get方法
            2.第二种方法是如果觉得这个属性没有存在的必要,但是又必须用到id这个取得这个值,可以将name属性去掉,例如
<input type="hidden" id="ssc.y" value='${ssc.y}'/>本人选择的办法就是第二种。
   希望这篇文章能帮助和我一样受困于这个问题的人。

你可能感兴趣的:(struts2)