在學習 Hibernate 簡單登錄功能時,控制台拋出大量 Struts 參數設置異常:
Unexpected Exception caught setting 'passrword' on 'class com.gloomy.rigister.action.userAction
Unexpected Exception caught setting 'password1' on 'class com.gloomy.rigister.action.userAction
Unexpected Exception caught setting 'username' on 'class com.gloomy.rigister.action.userAction
實體類 user 定義正常,包含 id、username、password 字段及對應的 Getter/Setter。
異常信息明確提示:passrword、password1、username 這幾個表達式設置失敗。對比實體類屬性名,發現 password 在 JSP 表單中被誤寫為 passrword(少了字母 'o'),導致 Struts 無法將請求參數映射到正確屬性。
檢查 index.jsp 中的表單輸入框:
<input type="password" name="passrword" /> <!-- 錯誤寫法 -->
<input type="password" name="password" /> <!-- 正確寫法 -->
將 name 屬性修正為 password 後,重新部署項目,錯誤消失,登錄功能恢復正常。
struts.devMode 以便快速定位問題。