WARN com.opensymphony.xwork2.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
這個異常是在提交表單的時候發(fā)生的,乍一看以為是Struts2類型轉(zhuǎn)換的錯誤,但是程序中又壓根兒沒有用到Struts2的類型轉(zhuǎn)換,而且前臺頁面
index.jsp中也沒有設(shè)置x,y這些參數(shù);且這個錯誤并不會影響程序的正常運(yùn)行,找了很久,最后發(fā)現(xiàn)是提交按鈕的緣故,提交按鈕引用的是一個圖片,
如下:
<input id="submit" type="image" name="ssc" src="asserts/images/5.jpg"/>
由于表單提交中設(shè)置了name屬性,所以struts2會進(jìn)行接收相應(yīng)的值,查找它的set 和 get方法,而action里面沒有這個name值的,所以才出現(xiàn)了如上錯誤。可以這樣寫:
<input id="submit" type="image" src="asserts/images/5.jpg" />
將name屬性去掉即可。
其實,在struts.xml文件里可以配置"struts.devMode"屬性。
當(dāng)
struts.devMode = true時,使用struts在默認(rèn)配置下對任何提交到action的參數(shù)強(qiáng)制需要setter方法,html表單數(shù)
據(jù)中有和action屬性匹配不上的參數(shù)名時就會提示這樣的信息。所以,在開發(fā)過程中將這個屬性設(shè)為true還是很好的,它可以幫我們發(fā)現(xiàn)一些可能出現(xiàn)但
又被我們忽視的問題,犯的“錯誤”越多,才能積累很多的經(jīng)驗。
轉(zhuǎn)自百度空間:
posted on 2012-05-15 11:54 gps夢想 閱讀(14876) 評論(5) 編輯 收藏 所屬分類: J2EE