• struts2标签具体解释


    要在jsp中使用Struts2的标志,先要指明标志的引入。通过jsp的代码的顶部增加下面的代码:

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

     

    If elseif  else

    描写叙述:

    运行主要的条件流转。

    參数:

    名称

    必需

    默认

    类型

    描写叙述

    备注

    test

     

    boolean

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

    else标志没有这个參数

    id

     

    Object/String

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

     

     

    样例:

    <s:set name="age" value="61"/>

     

    <s:if test="${age > 60}">

        老年人

    </s:if>

    <s:elseif test="${age > 35}">

        中年人

    </s:elseif>

    <s:elseif test="${age > 15}" id="wawa">

        青年人

    </s:elseif>

    <s:else>

        少年

    </s:else>

     

    <s:set name="name" value="<%="'"+ request.getParameter("name")+"'" %>"/>

    <%

      System.out.println(request.getParameter("name"));

     %>

    <s:if test="#name=='zhaosoft'">

      zhaosoft here

    </s:if>

    <s:elseif test="#name=='zxl'">

      zxl here

    </s:elseif>

    <s:else>

      other is here

    </s:else>

     

    Iterator(迭代)

    描写叙述:用于遍历集合(java.util.Collection)或枚举值(java.util.iterator)

    參数

    名称

    必需

    默认

    类型

    描写叙述

    status

     

    String

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

    value

     

    Object/String

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

    id

     

    Object/String

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

     

    I18n(国际化操作)

    描写叙述:

    载入资源包到值堆栈。它能够同意text标志訪问不论什么资源包的信息。而不仅仅当前的action相关联的资源包。

    名称

    必需

    默认

    类型

    描写叙述

    name

     

    Object/String

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

    id

     

    Object/String

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

     

    Include

    描写叙述:包括一个servlet的输出(servletjsp的页面)

    名称

    必需

    默认

    类型

    描写叙述

    value

     

    String

    要包括的jsp页面或servlet

    id

     

    Object/String

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

     

     

    param

    描写叙述:属性是可选的,假设提供,会调用Component的方法,addParameter(String,Object),假设不提供,则外层嵌套标签必须实现UnnamedParametric接口。

    Value的提供有两种方式,通过value属性或者标签中间的text,不同之处:

    <s:param name="name">zhaosoft</s:param>

    參数会以String的格式放入statck

    <s:param name="name" value="zhaosoft"/>

    该值会以java.lang.Object的格式放入statck

    名称

    必需

    默认

    类型

    描写叙述

    name

     

    String

    參数名

    value

     

    String

    value表达式

    id

     

    Object/String

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

     

    set

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

    參数:

    名称

    必需

    默认

    类型

    描写叙述

    name

     

    String

    变量名字

    scope

     

    String

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

    value

     

    Object/String

    将会赋给变量的值

    id

     

    Object/String

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

     

    Text

    描写叙述:支持国际化信息的标签。国际化信息必须放在一个和当前action同名的resource bundle中,假设没有找到对应message,tag body将被当作默认的message,假设没有tag bodymessagename会被作为默认message.

    名称

    必需

    默认

    类型

    描写叙述

    name

     

    String

    资源属性的名字

    id

     

    Object/String

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

     

    url

    描写叙述:该标签用于创建url,能够通过”param”标签提供request參数。

    includeParams的值是allgetparam标签中定义的參数将有优先权,也就是说其会覆盖其它同名參数的值。

     

     

     

     

     

     

     

     

     

     

    UI标志

     

    单行文本框

    Textfield标签输出一个HTML单行文本输入控件,等价于HTML代码<input type=”text”>

    名称

    必需

    默认

    类型

    描写叙述

    maxlength

    Integer

    文本输入控件能够输入字符的最大长度

    readonly

    false

    Boolean

    当该属性为true时,不能输入

    size

    Integer

    指定可视尺寸

    id

     

    Object/String

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

     

    样例:

    <s:form action="register" method="post">

       <s:textfield name="username" label="username"></s:textfield>

    </s:form>

     

     

     

    文本框区

    Textarea标签输出一个HTML多行文本输入控件,等价于HTML代码:<textarea />

    名称

    必需

    默认

    类型

    描写叙述

    cols

    Integer

    列数

    rows

    Integer

    行数

    readonly

    false

    Boolean

    当该属性为true时,不能输入

    wrap

    false

    Boolean

    指定多行文本输入控件是否应该换行

    id

     

    Object/String

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

     

    样例:

    <s:textarea name="personal" cols="10" rows="5" label="个人简历"></s:textarea>

     

     

     

    下拉列表

    s:select 标签输出一个下拉列表框,相当于HTML代码中的<select/>

    名称

    必需

    默认

    类型

    描写叙述

    list

    Cellection Map Enumeration Iterator array

    要迭代的集合,使用集合中的元素来设置各个选项,假设list的属性为MapMapkey成为选项的valueMapvalue会成为选项的内容

    listKey

    String

    指定集合对象中的哪个属性作为选项的value

    listValue

    String

    指定集合对象中的哪个属性作为选项的内容

    headerKey

    String

    设置当用户选择了header选项时,提交的的value,假设使用该属性,不能为该属性设置空值

    headerValue

    String

    显示在页面中header选项内容

    emptyOption

    false

    Boolean

    是否在header选项后面加入一个空选项

    multiple

    false

    Boolean

    是否多选

    size

    Integer

    显示的选项个数

     

    样例:

    %@ page contentType="text/html;charset=GBK" %>

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

     

    <h3>使用namelist属性,list属性的值是一个列表</h3>

    <s:form>

        <s:select label="最高学历" name="education" list="{'高中','大学','硕士','博士'}"/>

    </s:form>

     

    <h3>使用namelist属性,list属性的值是一个Map</h3>

    <s:form>

        <s:select label="最高学历" name="education" list="#{1:'高中',2:'大学',3:'硕士',4:'博士'}"/>

    </s:form>

     

    <h3>使用headerKeyheaderValue属性设置header选项</h3>

    <s:form>

        <s:select label="最高学历" name="education" list="{'高中','大学','硕士','博士'}"

           headerKey="-1" headerValue="请选择您的学历"/>

    </s:form>

     

     

    <h3>使用emptyOption属性在header选项后加入一个空的选项</h3>

    <s:form>

        <s:select label="最高学历" name="education" list="{'高中','大学','硕士','博士'}"

           headerKey="-1" headerValue="请选择您的学历"

           emptyOption="true"/>

    </s:form>

     

     

    <h3>使用multiple属性设置多选</h3>

    <s:form>

        <s:select label="最高学历" name="education" list="{'高中','大学','硕士','博士'}"

           headerKey="-1" headerValue="请选择您的学历"

           emptyOption="true"

           multiple="true"/>

    </s:form>

     

    <h3>使用size属性设置下拉框可显示的选项个数</h3>

    <s:form>

        <s:select label="最高学历" name="education" list="{'高中','大学','硕士','博士'}"

           headerKey="-1" headerValue="请选择您的学历"

           emptyOption="true"

           multiple="true" size="8"/>

    </s:form>

     

     

    <h3>使用listKeylistValue属性,利用Action实例的属性(property)来设置选项的值和选项的内容</h3>

    <s:form>

        <s:select label="最高学历" name="education" list="educations"

           listKey="id" listValue="name"/>

    </s:form

     

     

     

    doubleselect标签

    doubleselect标签输出关联的两个HTML列表框,产生联动效果。

    名称

    必需

    默认

    类型

    描写叙述

    list

    Cellection Map Enumeration Iterator array

    要迭代的集合,使用集合中的元素来设置各个选项,假设list的属性为MapMapkey成为选项的valueMapvalue会成为选项的内容

    listKey

    String

    指定集合对象中的哪个属性作为选项的value,该选项仅仅对第一个列表框起作用

    listValue

    String

    指定集合对象中的哪个属性作为选项的内容,该选项仅仅对第一个列表框起作用

    headerKey

    String

    设置当用户选择了header选项时,提交的的value,假设使用该属性,不能为该属性设置空值

    headerValue

    String

    显示在页面中header选项内容

    emptyOption

    false

    Boolean

     

    multiple

    false

    Boolean

    是否多选

    size

    Integer

    显示的选项个数,该选项仅仅对第一个列表框起作用

    doubleId

    String

    指定第二个列表框的ID

    doubleList

    Cellection Map Enumeration Iterator array

    要迭代的集合

    doubleListKey

    String

    指定集合对象中的哪个属性作为选项的value,该选项仅仅对第二个列表框起作用

    doubleListValue

    String

    指定集合对象中的哪个属性作为选项的内容,该选项仅仅对第二个列表框起作用

    doubleSize

    Integer

    选项个数

    doubleName

    String

    指定第二个列表框的name映射

    doubleValue

    Object

    第二个列表框的初始选种项

     

    实例:

    <s:form name="test">

        <s:doubleselect label="请选择所在省市"

           name="province" list="{'四川省','山东省'}" doubleName="city"

           doubleList="top == '四川省' ? {'成都市', '绵阳市'} : {'济南市', '青岛市'}" />

    </s:form>

     

    <s:form action="doubleselectTag">

        <s:doubleselect

                label="请选择所在省市"

                name="province"

                list="provinces"

                listKey="id"

                listValue="name"

                doubleList="cities"

                doubleListKey="id"

                doubleListValue="name"

                doubleName="city"

                headerKey="-1"

                headerValue="---------- 请选择 ----------"

                emptyOption="true" />

    </s:form>

     

    复选框

    名称

    必需

    默认

    类型

    描写叙述

    fieldValue

    true

    String

    指定在复选框选中时,实际提交的值

     

    复选框组,相应Action中的集合

    名称

    必需

    默认

    类型

    描写叙述

    list

    Cellection Map Enumeration Iterator array

    要迭代的集合,使用集合中的元素来设置各个选项,假设list的属性为MapMapkey成为选项的valueMapvalue会成为选项的内容

    listKey

    String

    指定集合对象中的哪个属性作为选项的value

    listValue

    String

    指定集合对象中的哪个属性作为选项的内容

    样例:checkboxlistTag.jsp

    <%@ page contentType="text/html;charset=GBK" %>

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

    <s:form>

        <s:checkboxlist name="interest" list="{'足球','篮球','排球','游泳'}" label="兴趣爱好"/>

    </s:form>

     

    单击复选框

     

    文件选择组建

    file标签输出一个HTML文件选择框。

    名称

    必需

    默认

    类型

    描写叙述

    accept

    input

    String

    HTML accept属性,指出接受文件的MIME类型

     

    button

    Submit标签输出一个button,submit标签和form标签使用能够提供异步表单提交功能。Submit标签能够输出下面三种类型的提交button:

    Input 等价于 HTML代码<input type=”submit”>

    Image 等价于 HTML代码 <input type="image">

    Button<button type="submit"></button>

    名称

    必需

    默认

    类型

    描写叙述

    type

    input

    String

    要使用的提交按钮的类型,有效值:input button image

    src

    String

    image类型的提交button设置图片地址。该属性对inputbutton类型的提交button无效

    action

    String

    指定处理提交请求的action

    method

    String

    指定处理提交请求的action的方法

    实例

    实例1.<s:submit type="image" method="login" src="images/login.jpg"></s:submit>

    页面输出:

    <input type="image" alt="Submit" src="images/login.jpg" id="user__login" name="method:login" value="Submit"/>

     

    实例2.<s:submit type="button" action="selectTag" method="login" label="登陆"></s:submit>

    页面输出:

    <button type="submit" id="user_selectTag_login" name="action:selectTag!login" value="Submit">登陆</button>

     

    Struts2提前定义的前缀:

    1method   method:login

    使用method前缀,来代替action默认的execute()方法的运行。

    <s:form action="user">

       <s:textfield name="user.username" label="username"></s:textfield>

       <s:textfield name="user.password" label="password"></s:textfield>

       <s:submit value="登陆" name="method:login"></s:submit>

       <s:submit value="注冊" name="method:register"></s:submit>

    </s:form>

     

    注意:1input类型的button,不能用label设置button上的文本,仅仅能用value

    2action前缀

    使用action前缀,代替form标签指定的action,导向到还有一个action进行处理。

    <s:form action="login">

       <s:textfield name="user.username" label="username"></s:textfield>

       <s:textfield name="user.password" label="password"></s:textfield>

       <s:submit value="登陆"></s:submit>

       <s:submit value="注冊" name="action:register"></s:submit>

    </s:form>

     

    2redirect前缀

    使用redirect前缀请求重定向到其它的url,甚至能够是web英语程序外部的url

    <s:form action="login">

       <s:textfield name="user.username" label="username"></s:textfield>

       <s:textfield name="user.password" label="password"></s:textfield>

       <s:submit value="登陆"></s:submit>

       <s:submit value="搜索" name="redirect:www.google.com"></s:submit>

    </s:form>

    2redirect-action前缀

    使用redirect-action前缀请求重定向到其它的action.

    <s:form action="login">

       <s:textfield name="user.username" label="username"></s:textfield>

       <s:textfield name="user.password" label="password"></s:textfield>

       <s:submit value="登陆"></s:submit>

       <s:submit value="搜索" name="redirect-action:register"></s:submit>

    </s:form>

    reset标签

    reset标签输出一个重置button

    名称

    必需

    默认

    类型

    描写叙述

    type

    input

    String

    要使用的重置按钮的内容,inputbutton

     

    <s:reset value="重置"></s:reset>

    <s:reset type="button" label="重置"></s:reset>

    updownselect标签

    updownselect标签创建一个带有上下移动的button的列表框,能够通过上下移动button来调整列表框的选项的位置。

     

    名称

    必需

    默认

    类型

    描写叙述

    list

    Cellection Map Enumeration Iterator array

    要迭代的集合,使用集合中的元素来设置各个选项,假设list的属性为MapMapkey成为选项的valueMapvalue会成为选项的内容

    listKey

    String

    指定集合对象中的哪个属性作为选项的value

    listValue

    String

    指定集合对象中的哪个属性作为选项的内容

    headerKey

    String

    设置当用户选择了header选项时,提交的的value,假设使用该属性,不能为该属性设置空值

    headerValue

    String

    显示在页面中header选项内容

    emptyOption

    false

    Boolean

    是否在header选项后面加入一个空选项

    multiple

    false

    Boolean

    是否多选

    size

    Integer

    显示的选项个数

    moveUplabel

     

    String

    设置向上移动button上的文本

    moveDownLabel

     

    String

    设置向下移动button上的文本

    selectAllLabel

     

    String

    设置向所有选择button上的文本

    allowMoveUp

    Boolean

    设置是否使用向上移动button

    allowMoveDown

    Boolean

    设置是否使用向下移动button

    allowSelectAll

    Boolean

    设置是否使用所有选择button

     

    实例:

    <s:form>

    <!-- 使用简单集合来生成可上下移动选项的下拉选择框 -->

    <s:updownselect name="a" label="请选择您喜欢的图书" labelposition="top"

        moveUpLabel="向上移动"

        list="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , 'JavaScript: The Definitive Guide'}"/>

       

       

    <!-- 使用简单Map对象来生成可上下移动选项的下拉选择框

         且使用emptyOption="true"添加一个空选项-->

    <s:updownselect name="b" label="请选择您想选择出版日期" labelposition="top"

        moveDownLabel="向下移动"

        list="#{'Spring2.0宝典':'200610' , '轻量级J2EE企业应用实战':'20074' , '基于J2EEAjax宝典':'20076'}"

        listKey="key"

        emptyOption="true"

        listValue="value"/>

       

    <s:bean name="com.zhaosoft.ui.formtag.BookService" id="bs"/>

    <!-- 使用集合里放多个JavaBean实例来可上下移动选项的生成下拉选择框 -->

    <s:updownselect name="c" label="请选择您喜欢的图书的作者" labelposition="top"

        selectAllLabel="所有选择" multiple="true"

        list="#bs.books"

        listKey="author"

        listValue="name"/>

    </s:form>

     

    package com.zhaosoft.ui.formtag;

    public class BookService

    {

        public Book[] getBooks()

        {

           return new Book[]

           {

               new Book("Spring2.0宝典","zhaosoft"),

               new Book("轻量级J2EE企业应用实战","zhaosoft"),

               new Book("基于J2EEAjax宝典","zhaosoft")

           };

        }

    }

     

     

     

    optiontransferselect标签

    optiontransferselect标签创建一个选项转移列表组建,它由两个<select>标签以及它们之间的用于将选项在两个<select>之间相互移动的button组成。表单提交时,将提交两个列表框中选中的选项。

    名称

    必需

    默认

    类型

    描写叙述

    list

    Cellection Map Enumeration Iterator array

    要迭代的集合,使用集合中的元素来设置各个选项,假设list的属性为MapMapkey成为选项的valueMapvalue会成为选项的内容,该选项仅仅对第一个列表框起作用

    listKey

    String

    指定集合对象中的哪个属性作为选项的value,该选项仅仅对第一个列表框起作用

    listValue

    String

    指定集合对象中的哪个属性作为选项的内容,该选项仅仅对第一个列表框起作用

    headerKey

    String

    设置当用户选择了header选项时,提交的的value,假设使用该属性,不能为该属性设置空值

    headerValue

    String

    显示在页面中header选项内容

    multiple

    false

    Boolean

    是否多选

    size

    Integer

    显示的选项个数,该选项仅仅对第一个列表框起作用

    doubleId

    String

    指定第二个列表框的ID

    doubleList

    Cellection Map Enumeration Iterator array

    要迭代的集合,使用集合中的元素来设置各个选项,假设doubleList的属性为MapMapkey成为选项的valueMapvalue会成为选项的内容,该选项仅仅对第二个列表框起作用

    doubleListKey

    String

    指定集合对象中的哪个属性作为选项的value,该选项仅仅对第二个列表框起作用

    doubleListValue

    String

    指定集合对象中的哪个属性作为选项的内容,该选项仅仅对第二个列表框起作用

    doubleHeaderKey

    String

    设置当用户选择了header选项时,提交的的value,假设使用该属性,不能为该属性设置空值

    doubleHeaderVale

    String

    显示在页面中header选项内容

    doubleEmptyOption

    String

    是否在第二列表框的header后面加入一个空选项

    doubleMultiple

    true

    Boolean

    是否多选

    doubleSize

    Integer

    选项个数

    doubleName

    String

    指定第二个列表框的name映射

    doubleValue

    Object

    第二个列表框的初始选种项

    leftTitle

    String

    左边列表框的标题

    rightTitle

    <-

    String

    右边列表框的标题

    addToLeftLable

     

    String

     

    addToRightLable

     

     

     

     

    addAllToLeftLable

     

     

     

     

    addAllToRightLable

     

     

     

     

    leftUpLabel

     

     

     

     

    leftDownLabel

     

     

     

     

    rightUpLabel

     

     

     

     

    rightDownLabel

     

     

     

     

    allowAddToLeft

     

     

     

     

    allowAddToright

     

     

     

     

    allowAddAllToLeft

     

     

     

     

    allowAddAllToRight

     

     

     

     

    allowSelectAll

    Boolean

    设置是否使用所有选择button

    allowUpdownOnLeft

     

     

     

     

    allowUpDownOnRight

     

     

     

     

     

    样例:

    <s:head/>

    <s:form>

        <s:optiontransferselect

        label="最喜爱的图书"

            name="javaBook"

            list="{'Java Web开发具体解释》', 'Struts 2深入具体解释》', 'Java高速入门》'}"

            doubleName="cBook"

            doubleList="{'VC++深入具体解释》', 'C++ Primer', 'C++程序设计语言》'}"/>

    </s:form>

    ---------------------------

    <s:form>

        <s:optiontransferselect

        label="最喜爱的图书"

            name="book1"

            leftTitle="Java图书"

            rightTitle="C/C++图书"

            list="{'Java Web开发具体解释》', 'Struts 2深入具体解释》', 'Java高速入门》'}"

            headerKey="-1"

            headerValue="--- 请选择 ---"

            emptyOption="true"

            doubleName="book2"

            doubleList="{'VC++深入具体解释》', 'C++ Primer', 'C++程序设计语言》'}"

            doubleHeaderKey="-1"

            doubleHeaderValue="--- 请选择 ---"

            doubleEmptyOption="true"

            addToLeftLabel="向左移动"

            addToRightLabel="向右移动"

            addAllToLeftLabel="所有左移"

            addAllToRightLabel="所有右移"

            selectAllLabel="所有选择"

            leftUpLabel="向上移动"

            leftDownLabel="向下移动"

            rightUpLabel="向上移动"

            rightDownLabel="向下移动"/>

    </s:form>

  • 相关阅读:
    100个经典的动态规划方程
    poj 2105 IP Address
    codeforces 299 A. Ksusha and Array
    codeforces 305 C. Ivan and Powers of Two
    性能测试实战 | 修改 JMeter 源码,定制化聚合压测报告
    Pytest 测试框架训练营,测试大咖带你搞定自动化+接口测试实战 | 限时免费报名
    MTSC 测试开开发大会(深圳站),报名立减 100 元!
    测试人面试 BAT 大厂之前,需要做好哪些准备?
    iOS 自动化测试踩坑(二):Appium 架构原理、环境命令、定位方式
    【北京】美团打车招聘职位
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4515060.html
Copyright © 2020-2023  润新知