<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    大漠駝鈴

    置身浩瀚的沙漠,方向最為重要,希望此blog能向大漠駝鈴一樣,給我方向和指引。
    Java,Php,Shell,Python,服務器運維,大數據,SEO, 網站開發、運維,云服務技術支持,IM服務供應商, FreeSwitch搭建,技術支持等. 技術討論QQ群:428622099
    隨筆 - 238, 文章 - 3, 評論 - 117, 引用 - 0
    數據加載中……

    struts2 標簽學習

    用過struts1.x的人都知道,標簽庫有html、bean、logic、tiles,
    而struts2.0里的標簽卻沒有分類,只用在jsp頭文件加上
    <%@ taglib prefix="s" uri="/struts-tags" %>
    就能使用struts2.0的標簽庫

    下面就介紹下每個標簽的用法(有錯請指正):

    A:

    <s:a href=""></s:a>-----超鏈接,類似于html里的<a></a>
    <s:action name=""></s:action>-----執行一個view里面的一個action
    <s:actionerror/>-----如果action的errors有值那么顯示出來
    <s:actionmessage/>-----如果action的message有值那么顯示出來
    <s:append></s:append>-----添加一個值到list,類似于list.add();
    <s:autocompleter></s:autocompleter>-----自動完成<s:combobox>標簽的內容,這個是ajax

    B:
    <s:bean name=""></s:bean>-----類似于struts1.x中的,JavaBean的值

    C:
    <s:checkbox></s:checkbox>-----復選框
    <s:checkboxlist list=""></s:checkboxlist>-----多選框
    <s:combobox list=""></s:combobox>-----下拉框
    <s:component></s:component>-----圖像符號

    D:
    <s:date/>-----獲取日期格式
    <s:datetimepicker></s:datetimepicker>-----日期輸入框
    <s:debug></s:debug>-----顯示錯誤信息
    <s:div></s:div>-----表示一個塊,類似于html的<div></div>
    <s:doubleselect list="" doubleName="" doubleList=""></s:doubleselect>-----雙下拉框

    E:
    <s:if test=""></s:if>
    <s:elseif test=""></s:elseif>
    <s:else></s:else>-----這3個標簽一起使用,表示條件判斷

    F:
    <s:fielderror></s:fielderror>-----顯示文件錯誤信息
    <s:file></s:file>-----文件上傳
    <s:form action=""></s:form>-----獲取相應form的值

    G:
    <s:generator separator="" val=""></s:generator>----和<s:iterator>標簽一起使用

    H:
    <s:head/>-----在<head></head>里使用,表示頭文件結束
    <s:hidden></s:hidden>-----隱藏值

    I:
    <s:i18n name=""></s:i18n>-----加載資源包到值堆棧
    <s:include value=""></s:include>-----包含一個輸出,servlet或jsp頁面
    <s:inputtransferselect list=""></s:inputtransferselect>-----獲取form的一個輸入
    <s:iterator></s:iterator>-----用于遍歷集合

    L:
    <s:label></s:label>-----只讀的標簽

    M:
    <s:merge></s:merge>-----合并遍歷集合出來的值

    O:
    <s:optgroup></s:optgroup>-----獲取標簽組
    <s:optiontransferselect doubleList="" list="" doubleName=""></s:optiontransferselect>-----左右選擇框

    P:
    <s:param></s:param>-----為其他標簽提供參數
    <s:password></s:password>-----密碼輸入框
    <s:property/>-----得到'value'的屬性
    <s:push value=""></s:push>-----value的值push到棧中,從而使property標簽的能夠獲取value的屬性

    R:

    <s:radio list=""></s:radio>-----單選按鈕
    <s:reset></s:reset>-----重置按鈕


    S:
    <s:select list=""></s:select>-----單選框
    <s:set name=""></s:set>-----賦予變量一個特定范圍內的值
    <s:sort comparator=""></s:sort>-----通過屬性給list分類
    <s:submit></s:submit>-----提交按鈕
    <s:subset></s:subset>-----為遍歷集合輸出子集

    T:
    <s:tabbedPanel id=""></s:tabbedPanel>-----表格框
    <s:table></s:table>-----表格
    <s:text name=""></s:text>-----I18n文本信息
    <s:textarea></s:textarea>-----文本域輸入框
    <s:textfield></s:textfield>-----文本輸入框
    <s:token></s:token>-----攔截器
    <s:tree></s:tree>-----樹
    <s:treenode label=""></s:treenode>-----樹的結構

    U:
    <s:updownselect list=""></s:updownselect>-----多選擇框
    <s:url></s:url>-----創建url
    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<%="s" uri="/struts-tags" %>
    三、下面我就開始探討一下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 2009-02-14 21:05 草原上的駱駝 閱讀(4866) 評論(3)  編輯  收藏 所屬分類: JAVA框架

    評論

    # re: struts2 標簽學習[未登錄]  回復  更多評論   

    123
    2013-05-22 10:56 | h

    # re: struts2 標簽學習[未登錄]  回復  更多評論   

    8350
    2013-05-22 10:57 | h

    # re: struts2 標簽學習[未登錄]  回復  更多評論   

    8350
    2013-05-22 10:57 | h
    主站蜘蛛池模板: 国产成人免费视频| 少妇性饥渴无码A区免费 | 久久久久免费视频| 亚洲男人天堂2020| 曰批免费视频播放在线看片二| 国产成人免费全部网站| 亚洲av无码一区二区三区四区| 免费观看的a级毛片的网站| 亚洲日韩AV无码一区二区三区人| 国产精品视频永久免费播放| 亚洲真人无码永久在线观看| 免费视频淫片aa毛片| 337p日本欧洲亚洲大胆人人| 亚洲国产精品国产自在在线| 久久九九久精品国产免费直播| 国产成人亚洲精品青草天美| 99视频有精品视频免费观看| 亚洲人成网站在线观看播放动漫 | 久久青草免费91观看| 亚洲精品一区二区三区四区乱码| 成人无码区免费视频观看| 羞羞视频免费网站入口| 亚洲综合在线另类色区奇米| 91青青国产在线观看免费| 亚洲人成无码网站在线观看 | 亚洲精品视频在线观看免费| 午夜在线a亚洲v天堂网2019| 四虎精品亚洲一区二区三区| 成人爽a毛片免费| 久久综合久久综合亚洲| 亚洲成片观看四虎永久| 一级毛片免费观看| 亚洲精华国产精华精华液网站| 国产亚洲精品精品国产亚洲综合| 中文字幕亚洲免费无线观看日本 | 亚洲av无码专区国产乱码在线观看 | 亚洲va在线va天堂va888www| 青青青国产免费一夜七次郎| 免费夜色污私人影院网站电影| 久久精品亚洲综合一品| 成人片黄网站色大片免费|