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"  onclick= "javascript:document.form.submit()";>  將name屬性去掉。 
相關文章
相關標籤/搜索