在學(xué)習(xí)struts的時候就一直知道ActionForm變量首字母要小寫。雖然知道,但是我還是習(xí)慣大寫,一直沒有出現(xiàn)問題。
最近在做一個練習(xí)項目的時候,ActionForm變量首字母依然是大寫。而且兩個jsp頁面共享一個ActionForm。在第一次向ActionForm填充數(shù)據(jù)的時候沒有出現(xiàn)任何問題,運行結(jié)果和期待結(jié)果相同。接著進入第二個jsp頁面,再次填充ActionForm的時候,沒有拋出異常,然而未取得期待結(jié)果。
在檢查的時候在Action中輸出從ActionForm取得的表單數(shù)據(jù),結(jié)果全部為null。在多方求助無果的情況下,把ActionForm的變量全部改為小寫,再修改相關(guān)的內(nèi)容,沒有問題了。
這個問題,如果有好的編碼習(xí)慣的話,這個問題就永遠不會出現(xiàn)。不過我想這個可能真的可以算是struts的瑕疵了(下面還有一個)。
ps:在使用<html:hidden>向ActionForm中提交long型數(shù)據(jù)的時候會拋出異常,這個時候改為<input type="hidden">就可以。