1. 程式人生 > >Eclipse中使用struts標籤時出錯

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標籤向客戶端輸出了傳統表單。