2014-07-08 78 views
0

我有一個帶有html表單的JSP頁面。我輸入表單域的值並點擊提交按鈕,控件將進入Action類。我的問題在於JSP頁面中的每個字段都需要在Action類中具有getter和setter對應的屬性。Struts2 -ognl異常

我沒有在我的Action類中定義任何屬性,並試圖從HTML字段中獲取值。 。 。我得到OGNL異常

警告:錯誤設置表達式 '發行版本模板' 具有值 '[Ljava.lang.String; @ 4eb585' ognl.ExpressionSyntaxException:格式錯誤OGNL表達式:發行版模板[OGNL。 ParseException:遇到「」版本「」在第1行第9列。

是否有一些解決方法,或者我應該編輯我的JSP?

+0

如果不包含任何信息,那麼很難提供幫助,但現在看起來您有一些非常時髦的輸入字段名稱。發送你故意忽略的輸入字段看起來有點時髦;我沒有看到這一點。 –

+0

@DaveNewton我認爲重點在於引起OGNL拋出異常的時髦名稱本身,它需要一種解決方法。 –

+0

@DaveNewton你是對的..已經切換到struts2標籤。 – goenka

回答

1

不,您不必爲您的請求發送的每個參數都提供一個屬性。畢竟它只是一個警告,你會得到,我懷疑原因應該是在struts.xml中啓用了開發模式。

另一方面,上面的警告似乎表明您傳遞值作爲參數名稱,因此您會收到OGNL警告,因此請檢查(並且可能會發布您的jsp的相關部分) 。

您還可以爲每個應用程序或每個操作添加黑名單或白名單參數,但是如果您發送這些參數並啓用了開發模式,仍然會收到警告。

+0

感謝您的即時回覆..但**開發模式**已被禁用,我得到相同的錯誤。你可以請建議什麼可能是這裏的問題.. – goenka

+0

請重新閱讀第二段,並檢查。 – Thomas