1. 程式人生 > >JavaWeb框架_Struts2_(五)----->Struts2的標簽庫

JavaWeb框架_Struts2_(五)----->Struts2的標簽庫

png height 用戶 實例 ron true 國際 order namespace

1. Struts2的標簽庫

  • 標簽庫概述
  • 數據標簽
  • 流程控制標簽
  • 表單標簽
  • 非表單標簽

2. 具體內容

2.1 Struts2標簽庫概述

  Struts2的標簽庫可以分為以下3類:用戶界面標簽、非用戶界面標簽、AJAX標簽;

技術分享圖片

2.1.1 Struts2標簽庫的分類和使用

1. 從上圖中可以看出,標簽的分類如下:

(1) 用戶界面標簽(UI標簽)

  UI標簽主要用來生成HTML元素的標簽,又分為表單標簽和非表單標簽。表單標簽主要用於生成HTML頁面的form元素,以及普通表單元素的標簽。非表單元素標簽主要用於在頁面生成一些非表單的可視化元素。

(2) 非用戶界面標簽(非UI標簽)

  非UI標簽主要用於數據訪問以及邏輯控制,包括數據訪問標簽和邏輯控制標簽。數據訪問標簽,主要用於輸出值棧(ValueStack)中的值、完成國際化等功能的標簽。流程控制標簽,主要用於實現分支、循環等流程控制標簽。

(3) AJAX標簽

  AJAX標簽用於支持Ajax效果。

2. Struts2標簽的使用要在JSP頁面代碼的頂部,添加以下代碼:

<%@taglib prefix = "S"  uri = "/struts-tags" %>

2.2 Struts2的數據標簽

  Struts2主要的數據標簽如下表格所示:

標簽名 描述
action 用於JSP頁面直接調用Action,當需要調用Action時,可以指定Action的namespace,若指定了executeResult參數的值為true,該標簽還會將Action的處理結果(視圖頁面)
bean 用於創建一個JavaBean實例。如果指定了id屬性,則可以將創建的JavaBean實例放入Stack Context中
date 用於創建一個JavaBean實例。如果指定id屬性
debug 用於在頁面上生成一個調試鏈接,當單擊該鏈接時,可以看到ValueStack和StackContext中的內容
il8n 用於指定國際化資源文件的baseName
include 用於在JSP頁面中包含其他的JSP或Servlet資源
param 用於設置一個參數,通常是用作為bean標簽、url標簽的子標簽
push 用於將某個值放入ValueStack的棧頂
set 用於設置一個新變量,並且可以將新變量放入指定的範圍內
text 用於輸出國際化消息
url 用於生成一個URL地址
property 用於生成輸出某個值,包括輸出ValueStack、Stack Context和Action Context中的值

2.3 Struts2的流程控制標簽

  Struts2主要的流程控制標簽如下表格所示:

標簽名 描 述
if/elseif/else 用於控制選擇輸出的標簽
append 用於將多個集合拼接成為一個新的集合
gennerator 用於將一個字符串解析成一個集合
iterator 用於將集合叠代輸出
merge 用於將多個集合拼接成一個新的集合,但與append拼接方式不同
sort 用於對集合進行排序
subset 用於截取集合的部分元素,形成一個新的集合

2.4 Struts2的表單標簽

  Struts2的表單標簽是用戶最常用的標簽,這些表單標簽都包含了非常多的屬性,但有很多屬性是完全相通的。大部分表單標簽和HTML標簽一一對應。這裏不再介紹。

2.5 Struts2的非表單標簽

  Struts2有如下非表單標簽:

  1. actionerror:如果Action實例的getActionErrors()方法返回不為null,則該標簽負責輸出該方法返回的系列錯誤;
  2. actionmessage:如果Action實例的getActionMessage()方法返回不為null,則該標簽負責輸出該方法返回的系列消息;
  3. fielderror:如果Action實例存在表單域的類型轉換錯誤、校驗錯誤、則該標簽負責輸出這些錯誤提示。

  我覺得Struts2標簽庫,這一板塊沒必要深究,認真看了看,更多的是記憶的東西,用的多了就記住了。所以,項目中遇到忘記了的標簽,直接查一下就好了,這樣效果也比較好。

JavaWeb框架_Struts2_(五)----->Struts2的標簽庫