首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Struts自定義標簽開發全流程詳解

     編輯:Java 相關知識

以selectResnodes標簽為例,完整走通Struts 1.x自定義標簽從定義到運行的7個步驟。

步驟速覽

  1. 編寫JSP頁面(Test.jsp),引入標簽庫前綴slotnode。
  2. 定義TLD文件(WEB-INF/TestTag.tld):聲明selectResnodes標簽、標簽類myWeb.taglib.SelectTag、三個屬性(id、nodeslist、scope)。
  3. Action基類與具體Action:AbstractResAction利用反射將actionType參數映射到對應方法;QueryNodesAction查詢數據庫獲取ArrayList<ResnodesVO>放入request屬性resnodesList。
  4. 標簽類實現(SelectTag):doStartTag()通過RequestUtils.lookup從指定scope獲取nodeslist,遍歷輸出<select><option> HTML。使用JspWriter直接寫響應。
  5. 配置struts-config.xml:映射/queryResnodes到QueryNodesAction,轉發Test.jsp。
  6. JSP頁面調用:<slotnode:selectResnodes id="nodelist" nodeslist="resnodesList" scope="request" />,屬性名需與Action中setAttribute一致。
  7. 啟動驗證:訪問https://localhost:8080/LearnTag/queryResnodes.do?actionType=showNodesList查看渲染結果。

核心要點總結

  • 數據流向:請求→Action查詢→request.setAttribute→標簽RequestUtils.lookup取數→JspWriter生成HTML→頁面顯示。
  • 命名一致性:TLD<name>、JSP標簽名、Action屬性名、標簽類屬性名必須完全對應。
  • 標簽類無狀態,doStartTag返回SKIP_BODY(無標簽體)或EVAL_BODY_INCLUDE。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved