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

Struts 1.x 系列教程(四):標簽庫全景概覽與安裝聲明指南

     編輯:Java 相關知識

Struts 1.x 提供了五大類標籤庫,分別針對視圖渲染、數據存取、邏輯控制、嵌套屬性、頁面佈局等不同場景。本文全面介紹五大標籤庫的定位與優勢,並詳細說明在 MyEclipse 環境下的安裝與聲明配置方法。

一、Struts 1.x 五大標籤庫架構概覽

1. HTML 標籤庫

標籤與 HTML 原生標籤一一對應(<form>、各類 <input> 等)。核心目的是將視圖層組件與控制層連接。雖然不使用它也能完成同樣工作,但會需要編寫更多樣板代碼。

2. Bean 標籤庫

專注於向客戶端輸出文本信息,存在兩大核心價值:

  • 為 Struts 提供國際化支持(從屬性文件讀取文本並輸出)
  • 避免在 JSP 中直接使用 Java 代碼獲取 request/session 中的數據

3. Logic 標籤庫

提供邏輯判斷與循環標籤,消除 JSP 中的 Java 腳本代碼。使用標籤進行邏輯控制比 Java 代碼更易理解、維護。

4. Nested 標籤庫

專門用於顯示表單或對象中的嵌套屬性(nested properties)。

5. Tiles 標籤庫

支援為視圖層構建頁面佈局,實現模板化開發。

Struts 標籤 vs JSTL 選擇建議

部分 Struts 標籤(如邏輯判斷)與 JSTL 有功能重疊。但 JSTL 要求 Servlet 容器符合 JSP 2.0 規範,而 Struts 標籤無此版本限制。若專案運行環境無法保證支持 JSP 2.0,強烈建議優先使用 Struts 標籤庫。

二、Struts 標籤庫安裝與聲明實戰

MyEclipse 環境下的自動化配置

MyEclipse 內置 Struts 相關 JAR 包,無需手動安裝。若需其他版本,可至 官網下載。

使用 MyEclipse 高級 JSP 模板可自動生成聲明代碼:新建 JSP 時選擇 "Standard JSP using Struts 1.2/1.3",頁面將自動包含四條 taglib 指令(Nested 需手動添加)。

標準 URI 聲明方式(推薦)

<%@ taglib uri="https://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="https://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="https://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="https://struts.apache.org/tags-tiles" prefix="tiles" %>
<%-- Nested 標簽庫需手工添加 --%>
<%@ taglib uri="https://struts.apache.org/tags-nested" prefix="nested" %>

prefix 值可自定義,但建議遵循慣例以便團隊協作。

TLD 文件路徑聲明方式

添加 Struts Capabilities 後,WEB-INF 目錄下會自動生成五個 .tld 文件:

  • struts-bean.tld
  • struts-html.tld
  • struts-logic.tld
  • struts-tiles.tld
  • struts-nested.tld

可直接引用相對路徑:

<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>
<%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested"%>

其中 "/WEB-INF/" 開頭的 "/" 表示 Web 根目錄。

進階:自定義 URI 映射

可修改 .tld 文件中 <uri> 標籤的內容來自定義簡短 URI。例如將 struts-bean.tld 中的 uri 改為 "struts-bean",則可用:

<%@ taglib uri="struts-bean" prefix="bean"%>

注意:修改生效需重啟 Tomcat 或重新發布 Web 應用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved