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

Struts 標籤庫完全指南:HTML 標籤與 Logic 邏輯標籤

     編輯:Java 相關知識

Struts HTML 標籤庫:表單與頁面構建利器

Struts HTML 標籤庫不僅封裝 HTML 元素,更整合了框架核心功能:自動綁定 Form Bean、客戶端驗證腳本生成、國際化適配、錯誤顯示等。使用前需完成三步配置:

  1. web.xml 註冊 TLD:<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
  2. 將 struts-html.tld 複製到 WEB-INF 目錄 (類文件已在 struts.jar 中)
  3. JSP 頁面引入:<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

核心標籤詳解

<html:html> - 頁面根標籤

生成 <html> 標籤,支援兩個屬性:

  • locale="true":自動根據服務器 Locale 生成 lang 屬性,部署到不同語言環境無需改代碼
  • xhtml="true":生成符合 XHTML 規範的標籤

<html:base> - 基礎路徑

生成 <base href="...">,必須置於 <head> 區塊,解決相對路徑資源引用問題。

<html:link> - 智能超鏈接

<html:link page="/index.jsp">Index</html:link>
<!-- 生成:<a href="/context/index.jsp">Index</a> -->

自動添加上下文路徑,支援 action、forward、href 等多種目標指定方式。

<html:errors> - 統一錯誤顯示

單標籤處理所有驗證錯誤:

<html:errors/>

自動查找請求屬性 org.apache.struts.action.ERROR_KEY,支援 ActionErrors、字符串、字符串數組。配合資源文件鍵自定義佈局:

  • errors.header:錯誤列表前綴
  • errors.footer:錯誤列表後綴
  • errors.prefix:單條錯誤前綴
  • errors.suffix:單條錯誤後綴

Struts Logic 標籤庫:頁面級流程控制

Logic 標籤庫提供條件判斷、迭代、比較等邏輯標籤,減少 Scriptlet 使用。配置方式類似,TLD 為 struts-logic.tld,前綴通常為 logic。

條件與比較標籤

標籤功能關鍵屬性
logic:empty判斷對象為空 (null、空集合、空字符串)name, property, scope
logic:notEmpty判斷對象非空name, property, scope
logic:equal / notEqual等於/不等於比較name/cookie/header/parameter/property + value
logic:greaterThan / greaterEqual大於/大於等於同上
logic:lessThan / lessEqual小於/小於等於同上
logic:match / notMatch字符串模式匹配 (支持通配符)location 指定匹配位置
logic:present / notPresent檢查請求參數/屬性是否存在cookie/header/name/parameter/property/role/user

所有比較標籤體內容為 JSP,條件成立時輸出體內容。

迭代與消息標籤

  • logic:iterate:遍歷集合 (List、ArrayList、HashMap 等),屬性豐富:collection/name 指定源,id 當前項變量名,indexId 索引變量,offset/length 分頁控制,type 指定元素類型
  • logic:messagesPresent / messagesNotPresent:檢查 ActionMessages/ActionErrors 是否存在,用於條件顯示錯誤/提示區塊

導航標籤

  • logic:forward:頁面轉向,查找全局 forward 配置,屬性 name 指定 forward 名稱
  • logic:redirect:客戶端重定向,支援參數傳遞:anchor、forward、href、page、paramId/paramName/paramProperty/paramScope 等豐富屬性構建目標 URL

最佳實踐建議

  1. 優先使用 HTML 標籤庫構建表單,自動綁定 ActionForm,啟用客戶端驗證 (onsubmit 腳本自動生成)
  2. 錯誤顯示統一用 <html:errors/>,配合資源文件維護提示文案
  3. 邏輯判斷盡量用 Logic 標籤,避免 Scriptlet,但複雜邏輯仍建議在 Action/Service 層完成,頁面僅做簡單條件渲染
  4. 迭代輸出表格/列表時,logic:iterate 配合 bean:write 或 EL 表達式最清晰
  5. 模塊化應用中善用 logic:forward/redirect 管理跨模組導航
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved