WEB Struts2.2 经常使用的标签及传值总结

 要在JSP中使用Struts 2.0标志,先要指明标志的引入。经过在JSP的代码的顶部加入如下代码能够作到这点。html

<%@taglib prefix="s" uri="/stru ts-tags" %>
java

一.     UI标志 session

  1.         ifelseifelse

    描述:
    执行基本的条件流转。 app

    参数: jsp

    名称ide

    必需post

    默认性能

    类型url

    描述spa

    备注

    test

     

    Boolean

    决定标志里内容是否显示的表达式

    else标志没有这个参数

    id

     

    Object/String

    用来标识元素的id。在UI和表单中为HTMLid属性

    <!--用set赋值,userName为action传到页面的参数-->
    <s:set name="name" value="userName"/>
    <s:if test="#name=='test'">
    	Test
    </s:if>
    <s:elseif test="#name=='test2'">
    	Test2
    </s:elseif>
    
    <!--用EL表达式取值-->
    ${name}<br>
    
    <!--也能够直接用EL表达式获得userName-->
    ${userName}

  2. iterator

    描述:
    用于遍历集合(java.util.Collection)或枚举值(java.util.Iterator)。

    参数:

    名称

    必需

    默认

    类型

    描述

    status

     

    String

    若是设置此参数,一个IteratorStatus的实例将会压入每一个遍历的堆栈

    value

     

    Object/String

    要遍历的可枚举的(iteratable)数据源,或者将放入新列表(List)的对象

    id

     

    Object/String

    用来标识元素的id。在UI和表单中为HTMLid属性

          action:

    private String[] res1 = new String[]{"a","b","c"};
    private List<String> res2 = new ArrayList<String>();
    res2.add("aa");
    res2.add("bb");

    jsp页面:
    <s:set name="begin" value="0"/>
    <s:set name="end" value="2"/>
    <s:iterator id="iterator" value="res1" status="res" begin="#begin" end="#end">
     ${iterator},
    </s:iterator>

    或是:
    <!-- 
                一、此处的空property元素用于得到当前iterator的值 
                二、status被设成stuts,在iterator的里面就能够经过#stuts取得IteratorStatus的对象。IteratorStatus类包含当前序号信息,如是否第一个或最后一个,是否为奇数序号。这些信息在咱们作格式化的时候,显得很是有用。
            -->
            <ol>
                <s:iterator value="#request.names" status="stuts">                
                    <s:if test="#stuts.odd == true">
                        <li>White <s:property /></li>
                    </s:if>
                    <s:else>
                        <li style="background-color:gray" mce_style="background-color:gray"><s:property /></li>
                    </s:else>
                </s:iterator>
            </ol>

  3.  i18n

    描述:
    加载资源包到值堆栈。它能够容许text标志访问任何资源包的信息,而不仅当前action相关联的资源包。

    参数:

    名称

    必需

    默认

    类型

    描述

    value

     

    Object/String

    资源包的类路径(如com.xxxx.resources.AppMsg

    id

     

    Object/String

    用来标识元素的id。在UI和表单中为HTMLid属性

    <s:i18n name="log4j">
      <s:text name="log4j.appender.fileout.MaxFileSize" />
    </s:i18n>
      
  4.   set

    描述:
    set
    标签赋予变量一个特定范围内的值。当但愿给一个变量赋一个复杂的表达式,每次访问该变量而不是复杂的表达式时用到。其在两种状况下很是有用: 复杂的表达式很耗时 (性能提高) 或者很难理解 (代码可读性提升)

    参数:

    名称

    必需

    默认

    类型

    描述

    name

     

    String

    变量名字

    scope

     

    String

    变量做用域,能够为application, session, request, page, action.

    value

     

    Object/String

    将会赋给变量的值

    id

     

    Object/String

    用来标识元素的id。在UI和表单中为HTMLid属性

  5.   text

    描述:
    支持国际化信息的标签。国际化信息必须放在一个和当前action同名的resource bundle,若是没有找到相应message,tag body将被看成默认message,若是没有tag body,messagename会被做为默认message

    参数:

    名称

    必需

    默认

    类型

    描述

    name

     

    String

    资源属性的名字

    id

     

    Object/String

    用来标识元素的id。在UI和表单中为HTMLid属性

  6.   url

    描述:
    该标签用于建立url,能够经过"param"标签提供request参数。

    includeParams的值时'all'或者'get', param标签中定义的参数将有优先权,也就是说其会覆盖其余同名参数的值。

    <%@ page contentType="text/html; charset=UTF-8" %>
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
        <head>
            <title>URL</title>
        </head>
        <body>
            <h3>URL</h3>            
            <a href='<s:url value="/i18n.jsp" ></a>'>i18n</a><br />
            <s:url id="url" value="/condition.jsp">
                <s:param name="name">Max</s:param>
            </s:url>        
            <s:a href="%{url}" mce_href="%{url}">if/elseif/else</s:a>
        </body>
    </html>

  7.  property

    描述:
    获得'value'的属性,若是value没提供,默认为堆栈顶端的元素。

    参数:

    名称

    必需

    默认

    类型

    描述

    default

     

    String

    若是属性是null则显示的default

    escape

    true

    Booelean

    是否escape HTML

    value

    栈顶

    Object

    要显示的值

 

 二.UI标志

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
    <title>UI Tags Example</title>
    <s:head/>
</head>
<body>

<s:actionerror/>
<s:actionmessage/>
<s:fielderror />

<s:form action="exampleSubmit" method="post" enctype="multipart/form-data" tooltipConfig="#{'jsTooltipEnabled':'true'}">
    <s:textfield 
            label="Name" 
            name="name"
            tooltip="Enter your Name here" />

    <s:datepicker
            tooltip="Select Your Birthday"
            label="Birthday"
            name="birthday" />

    <s:textarea
            tooltip="Enter your Biography"
            label="Biograph"
            name="bio"
            cols="20"
            rows="3"/>

    <s:select
            tooltip="Choose Your Favourite Color"
            label="Favorite Color"
            list="{'Red', 'Blue', 'Green'}"
            name="favoriteColor"
            emptyOption="true"
            headerKey="None"
            headerValue="None"/>

    <s:select
            tooltip="Choose Your Favourite Language"
            label="Favourite Language"
            list="favouriteLanguages"
            name="favouriteLanguage"
            listKey="key"
            listValue="description"
            emptyOption="true"
            headerKey="None"
            headerValue="None"/>

    <s:checkboxlist
            tooltip="Choose your Friends"
            label="Friends"
            list="{'Patrick', 'Jason', 'Jay', 'Toby', 'Rene'}"
            name="friends"/>

    <s:checkbox
            tooltip="Confirmed that your are Over 18"
            label="Age 18+"
            name="legalAge"/>

    <s:doubleselect
            tooltip="Choose Your State"
            label="State"
            name="region" list="{'North', 'South'}"
            value="'South'"
            doubleValue="'Florida'"
            doubleList="top == 'North' ? {'Oregon', 'Washington'} : {'Texas', 'Florida'}" 
            doubleName="state"
            headerKey="-1"
            headerValue="---------- Please Select ----------"
            emptyOption="true" />

    <s:doubleselect
            tooltip="Choose your Vehical"
            label="Favourite Vehical"
            name="favouriteVehicalType"
            list="vehicalTypeList"
            listKey="key"
            listValue="description"
            value="'MotorcycleKey'"
            doubleValue="'YamahaKey'"
            doubleList="vehicalSpecificList"
            doubleListKey="key"
            doubleListValue="description"
            doubleName="favouriteVehicalSpecific" headerKey="-1"
            headerValue="---------- Please Select ----------"
            emptyOption="true" />

    <s:file
            tooltip="Upload Your Picture"
            label="Picture" 
            name="picture" />
            
    <s:optiontransferselect
            tooltip="Select Your Favourite Cartoon Characters"
            label="Favourite Cartoons Characters"
            name="leftSideCartoonCharacters" 
            leftTitle="Left Title"
            rightTitle="Right Title"
            list="{'Popeye', 'He-Man', 'Spiderman'}" 
            multiple="true"
            headerKey="headerKey"
            headerValue="--- Please Select ---"
            emptyOption="true"
            doubleList="{'Superman', 'Mickey Mouse', 'Donald Duck'}" 
            doubleName="rightSideCartoonCharacters"
            doubleHeaderKey="doubleHeaderKey"
            doubleHeaderValue="--- Please Select ---" 
            doubleEmptyOption="true"
            doubleMultiple="true" />
    
    <s:textarea
            label="Your Thougths"
            name="thoughts" 
            tooltip="Enter your thoughts here" />
            
    <s:submit onclick="alert('aaaa');" />
    <s:reset onclick="alert('bbbb');" />
</s:form>
    
</body>
</html>
  
相关文章
相关标签/搜索