Eclipse中使用struts標籤時出錯
阿新 • • 發佈:2018-11-25
原因是Action和ActionForm對應檔案中沒有繼承相應的類,具體來說:
ActionForm的編寫:
- 必須繼承org.apache.struts.action.ActionForm
- ActionForm內可能封裝的表單元素有很多,要得到它們的值,必須編寫和表單元素同名的屬性
Action的編寫:
- 必須繼承org.apache.struts.action.Action (不是ActionServlet)
- 必須重寫execute方法來處理業務邏輯
修改後重新執行:
注意事項:
用Struts標籤生成的表單必須指定action屬性 ,否則會報錯。
另外,<form>標籤的action屬性應該包含專案名稱,如action="/Ch11/reg.do",開頭的"/"代表伺服器根目錄。
<html:form>標籤的action屬性,如action="/reg.do",開頭的"/"代表專案的虛擬目錄(測試發現action="/reg"即不加do字尾的寫法也能正常執行)。
在瀏覽器檢視網頁原始碼:
<form name="RegForm" method="post" action="/Ch11/reg.do">
<input type="submit" value="Submit" ><input type="submit" name="org.apache.struts.taglib.html.CANCEL" value="Cancel" onclick="bCancel=true;">
</form>
說明伺服器端通過Struts標籤向客戶端輸出了傳統表單。