首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

JSP 向後台傳值為空:Struts2 Action 屬性缺少 Getter/Setter

     編輯:程式設計疑難解答

錯誤訊息

Unexpected Exception caught setting 'jmc1001Form.mRoom' on 'class com.jmar.jmC.action.Jmc1001Action: Error setting expression 'jmc1001Form.mRoom' with value '[Ljava.lang.String;@11c5342'

原因

Action 類 (`Jmc1001Action`) 中的屬性 `jmc1001Form` (類型 `Jmc1001Form`) **缺少 `mRoom` 對應的 Getter/Setter 方法**,或 `Jmc1001Form` 類中 `mRoom` 缺少 Getter/Setter。Struts2/OGNL 靠反射調用 setter 注入值,找不到方法拋異常。

解決

  1. 檢查 `Jmc1001Form` 類是否有 `private String mRoom;` 及 `public String getMRoom()` / `public void setMRoom(String mRoom)`。
  2. 檢查 `Jmc1001Action` 是否有 `private Jmc1001Form jmc1001Form;` 及對應 Getter/Setter。
  3. 屬性名命名規範:駝峰式 `mRoom` → 方法 `getMRoom`/`setMRoom` (首字母大寫)。

補充

同樣方法能取到 `jmc1001Form.date` 說明 `date` 有正確 Getter/Setter,對比兩者差異即可定位問題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved