想飛就別怕摔

          大爺的并TM罵人

          Struts2.0標簽庫(一)控制標簽

          Struts2.0標簽大體可分為以下幾類:
          1.UI(User Interface,用戶界面)標簽:主要生成HTML元素標簽;
              (1)表單標簽:用于生成HTML頁面的form元素,以及普通表單元素的標簽。
              (2)非表單標簽:用于生成頁面上的樹、Tab也等標簽。
          2.非UI標簽:主要用于數據訪問、邏輯控制等的標簽;
              (1)流程控制標簽:主要包含用于實現分支、循環等流程控制的標簽。
              (2)數據訪問標簽:主要包含與輸出ValueStack中的值,完成國際化等功能的標簽。
          3.Ajax標簽:用于Ajax支持的標簽;
          一、使用Struts2標簽庫的準備
          在工程中加入Struts2的Jar文件。
          修改Web.xml文件如:
           1<?xml version="1.0" encoding="UTF-8"?>
           2<web-app version="2.4" 
           3    xmlns="http://java.sun.com/xml/ns/j2ee" 
           4    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
           5    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
           6    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
           7    <filter>
           8        <filter-name>struts2</filter-name>
           9        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
          10    </filter>
          11    <filter-mapping>
          12        <filter-name>struts2</filter-name>
          13        <url-pattern>/*</url-pattern>
          14    </filter-mapping>
          15</web-app>
          二、在使用標簽時別忘了用taglib編譯指令導入Struts2的標簽庫定義
          1<%%>
          三、下面我就開始探討一下Struts2.0標簽庫控制標簽的使用。
          1.if/elseif/else標簽
           1<%@ page language="java" pageEncoding="ISO-8859-1"%>
           2<%@ taglib prefix="s" uri="/struts-tags" %>
           3<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
           4<html>
           5  <head>
           6    <title>If_Else</title>
           7  </head>
           8  <body>
           9    <s:set name="name" value="#parameters.name[0]"></s:set>
          10    <s:if test="#name=='woailuo'">
          11        woailuo is here!
          12    </s:if>

          13    <s:elseif test="#name=='mingren'">
          14        mingren is here!
          15    </s:elseif>

          16    <s:else>
          17        zuozhu is here!
          18    </s:else>

          19  </body>
          20</html>
          2.Iterator標簽
          Iterator主要對集合進行迭代,包括List、Set、Map;它的屬性有3個:
              (1)value:可選屬性,value指定被迭代的集合,被迭代的集合通常用OGNL表達式指定。如沒有value屬性,則使用ValueStatus棧頂的集合。
              (2)id:可選屬性,指定集合中的元素的ID。
              (3)status:可選屬性,給屬性指定迭代的IteratorStatus實力,該實例包含幾個方法:int getCount()返回當前迭代了幾個元素;int getIndex()返回當前迭代元素的索引;Boolean isEven()返回當前迭代的元素是否是偶數;boolean isOdd()返回是否是奇數;boolean isFirst()是否是第一個元素;boolean isLast()是否是最后一個。
           1<%@ page language="java"  pageEncoding="utf-8"%>
           2<%@ taglib prefix="s" uri="/struts-tags" %>
           3<html>
           4  <head>
           5    <title>iterator</title>
           6  </head>
           7  <body>
           8      <table border="1" width=100>
           9          <s:iterator value="{'struts2.0','hibernate','ajax','spring'}" id="name" status="st">
          10              <tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
          11                  <td><s:property value="#st.count"/><s:property value="name"/></td>
          12              </tr>
          13          </s:iterator>
          14      </table>
          15  </body>
          16</html>
          3.append標簽
          append標簽用于將多個集合對象拼接起來,組合一個新的集合。從而通過一個<s:iterator.../>完成對多個集合的迭代。
           1<%@ page language="java"  pageEncoding="utf-8"%>
           2<%@ taglib prefix="s" uri="/struts-tags" %>
           3<html>
           4  <head>
           5    <title>iterator</title>
           6  </head>
           7  <body>
           8      <table border="1" width="100">
           9          <s:append id="newList">
          10              <s:param value="{'struts2.0','hibernate','ajax','spring'}"/>
          11              <s:param value="{'javaScript','sql server'}"/>
          12          </s:append>
          13          <s:iterator value="#newList" status="st">
          14              <tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
          15                  <td><s:property value="#st.count"/><s:property/></td>
          16              </tr>
          17          </s:iterator>
          18      </table>
          19  </body>
          20</html>
          21
          4.merge標簽
          merge標簽與append標簽非常相似,他們都是將多個集合拼接成一個。他們的區別在于拼接后集合元素的順序不同。
          append方式拼接,新元素的順序為:
          (1)第一個集合中的第一個元素;
          (2)第一個集合中的第二個元素;
          (3)第二個集合中的第一個元素;
          (4)第二個集合中的第二個元素;
          merge方式拼接,新元素的順序為:
          (1)第一個集合中的第一個元素;
          (2)第二個集合中的第一個元素;
          (3)第一個集合中的第二個元素;
          (4)第二個集合中的第二個元素;
          5.subset標簽
          subset標簽用于取得集合的子集,它的屬性有如下:
          (1)count:可選屬性,指定子集中元素的個數,默認取得全部;
          (2)source:可選屬性,指定源集合,默認取得ValueStack棧頂的集合;
          (3)start:可選屬性,指定子集從源集合第幾個開始截取,默認從第一個截取(start為0);
          (4)decider:可選屬性,是否選中該屬性;
           1<%@ page language="java" pageEncoding="utf-8"%>
           2<%@ taglib prefix="s" uri="/struts-tags"%>
           3<html>
           4    <head>
           5        <title>iterator</title>
           6    </head>
           7    <body>
           8        <table border="1" width="100">
           9            <s:subset
          10                source="{'struts2.0','hibernate','ajax','spring','javaScript'}"
          11                count="3" start="1" id="subset">
          12            <s:iterator status="st">
          13                <tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
          14                    <td>
          15                        <s:property value="#st.count" />
          16                        <s:property/>
          17                    </td>
          18                </tr>
          19            </s:iterator>
          20            </s:subset>
          21        </table>
          22    </body>
          23</html>
          24
          6.關于控制標簽還有generator標簽和sort標簽
          他們的作用分別是:generator是將指定的字符串按指定的分隔符分隔成多個子串;sort是對指定的集合元素進行排序必須提供自己的排序規則。
          因為這兩個用到的比較少,所以就不羅嗦了。

          posted on 2008-10-24 14:56 生命的綻放 閱讀(1593) 評論(2)  編輯  收藏 所屬分類: Struts2.0

          評論

          # re: Struts2.0標簽庫(一)控制標簽 2008-10-24 15:32 楊愛友

          差不多,我現在很少用STRUTS標簽,都用JSTL,不過差不多都能找到對應的標簽,關鍵字不一樣,形式差不多,都能避免在JSP頁面融入JAVA代碼。  回復  更多評論   

          # re: Struts2.0標簽庫(一)控制標簽 2010-08-20 14:49 向前走的螃蟹

          呵呵  回復  更多評論   

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          常用鏈接

          留言簿(5)

          隨筆分類(94)

          隨筆檔案(93)

          文章分類(5)

          文章檔案(5)

          相冊

          JAVA之橋

          SQL之音

          兄弟之窗

          常用工具下載

          積分與排名

          最新評論

          閱讀排行榜

          主站蜘蛛池模板: 班戈县| 孟津县| 枣阳市| 鹤岗市| 米易县| 吉首市| 兴国县| 乌拉特前旗| 株洲市| 维西| 南安市| 广宁县| 祥云县| 肇东市| 开平市| 洪湖市| 遂宁市| 汨罗市| 平昌县| 漳州市| 新河县| 公主岭市| 内丘县| 罗江县| 平湖市| 社会| 和静县| 淳化县| 石屏县| 阿鲁科尔沁旗| 瑞昌市| 荔浦县| 乐东| 万盛区| 东山县| 西峡县| 金秀| 黎城县| 德阳市| 弥渡县| 大庆市|