Eclipse中使用struts標籤時出錯

 

原因是Action和ActionForm對應文件中沒有繼承相應的類,具體來說:

ActionForm的編寫:

  1. 必須繼承org.apache.struts.action.ActionForm
  2. ActionForm內可能封裝的表單元素有很多,要得到它們的值,必須編寫和表單元素同名的屬性

Action的編寫:

  1. 必須繼承org.apache.struts.action.Action  (不是ActionServlet)
  2. 必須重寫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標籤向客戶端輸出了傳統表單。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章