第二十九章 struts2常用标签解说

JSP页面顶部加入下行,可以使用struts2标签

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

If elseif else

名称

必需

默认

类型

描述

备注

test

boolean

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

else标志没有这个参数

id

Object/String

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

<s:set name="age" value="10"></s:set>
<s:if test="#age>10">age大于10</s:if>
<s:elseif test="#age<10">age小于10</s:elseif>
<s:else>age等于10</s:else>

Iterator

名称

必需

默认

类型

描述

status

String

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

value

Object/String

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

id

Object/String

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

<s:iterator value="resultList" id="user" status="st">  
    <tr>  
        <td><input type="checkbox"></td>  
        <td><s:property value="#user.username"/></td>  
        <td><s:property value="#user.password"/></td>  
        <td><s:property value="#user.sex"/></td>  
        <td><s:property value="#user.age"/></td>  
        <td><s:property value="#user.email"/></td>  
        <td><s:property value="#user.address"/></td>  
</tr>  
</s:iterator>  

<s:iterator value=”{’dd’,'bb’,'cc’}” status=”st”>  
<s:if test=”#st.odd”>  
<s:property value=”#st.index”/>  
</s:if>  
</s:iterator>  

status属性:可选属性,该属性在迭代时会产生一个IteratorStatus对象,该对象可以判断当前元素的位置,包含了以下属性方法: 
int getCount(); 迭代元素个数 
int getIndex(); 迭代元素当前索引 
boolean getFirst(); 是否为第一个 
boolean getEven(); 是否为偶 
boolean getLast(); 是否最后一个 

bolean getOdd(); 是否为奇 

i18n标签

名称

必需

默认

类型

描述

name

Object/String

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

id

Object/String

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

加载资源包到值堆栈。它可以允许text标志访问任何资源包的信息,而不只当前action相关联的资源包。

<s:i18n name="I18N">
        The i18n value is <s:text name="hi!!"></s:text>
</s:i18n>

Include

包含一个servlet的输出(servletjsp的页面)

名称

必需

默认

类型

描述

value

String

要包含的jsp页面或servlet

id

Object/String

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


<s:include value="include.jsp">
    <!-- 提交表单时才会获得value的值 -->
    <s:param name="value1">test1</s:param>
    <s:param name="value2" value="user"></s:param>
</s:include>

param

名称

必需

默认

类型

描述

name

String

参数名

value

String

value表达式

id

Object/String

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

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

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

参数会以String的格式放入statck

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

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


set

set标签赋予变量一个特定范围内的值。

名称

必需

默认

类型

描述

name

String

变量名字

scope

String

变量作用域,可以为application,session,request,page,action

value

Object/String

将会赋给变量的值

id

Object/String

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

<s:bean name="lee.Person" id="p">
    <s:param name="name" value="'yeeku'"/>
    <s:param name="age" value="29"/>
</s:bean>
将Stack Context中的p值放入session范围内<br>
<s:set value="#p" name="xxx" scope="session"/>

Text

支持国际化信息的标签

名称

必需

默认

类型

描述

name

String

资源属性的名字

id

Object/String

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

<s:text name="message"></s:text>

url

该标签用于创建url,可以通过”param”标签提供request参数

 <s:url var="url" action="mainPage" namespace="user"> 
       <s:param name="id" value="123"/> 
 </s:url> 
    结果如下 
<a href="user/mainPage?id=123">url</a>

Textfield

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

名称

必需

默认

类型

描述

maxlength

Integer

文本输入控件可以输入字符的最大长度

readonly

false

Boolean

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

size

Integer

指定可视尺寸

id

Object/String

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

<s:form action="register" method="post">
   <s:textfield name="username" label="用户名"></s:textfield>
</s:form>

Textarea

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

名称

必需

默认

类型

描述

cols

Integer

列数

rows

Integer

行数

readonly

false

Boolean

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

wrap

false

Boolean

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

id

Object/String

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

<s:textarea name="personal" cols="10" rows="5" label="个人简历"></s:textarea>
 
 
select 
标签输出一个下拉列表框,相当于HTML代码中的<select/>

名称

必需

默认

类型

描述

list

Cellection Map Enumeration Iterator array

要迭代的集合,使用集合中的元素来设置各个选项,如果list的属性为Map则Map的key成为选项的value,Map的value会成为选项的内容

listKey

String

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

listValue

String

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

headerKey

String

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

headerValue

String

显示在页面中header选项内容

emptyOption

false

Boolean

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

multiple

false

Boolean

是否多选

size

Integer

显示的选项个数


<h3>使用emptyOption属性在header选项后添加一个空的选项</h3>
<s:form>
<s:select label="最高学历" name="education" list="{'高中','大学','硕士','博士'}"
headerKey="-1" headerValue="请选择您的学历"
emptyOption="true"/>
</s:form>

<h3>使用listKey和listValue属性,利用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的属性为Map则Map的key成为选项的value,Map的value会成为选项的内容

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>

checkbox

<s:checkbox  name="xingming" value="false" fieldValue="wmj2003" />

checkboxlist

复选框组

名称

必需

默认

类型

描述

list

Cellection Map Enumeration Iterator array

要迭代的集合,使用集合中的元素来设置各个选项,如果list的属性为Map则Map的key成为选项的value,Map的value会成为选项的内容

listKey

String

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

listValue

String

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

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


file

名称

必需

默认

类型

描述

accept

input

String

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


<s:file name="file"></s:file>

submit

名称

必需

默认

类型

描述

type

input

String

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

src

String

为image类型的提交按钮设置图片地址。该属性对input和button类型的提交按钮无效

action

String

指定处理提交请求的action

method

String

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

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


<s:submit type="image" method="login" src="images/login.jpg"></s:submit>
<s:submit type="button" action="selectTag" method="login" label="登陆"></s:submit>

reset

名称

必需

默认

类型

描述

type

input

String

要使用的重置按钮的内容,input、button

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

updownselect

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

名称

必需

默认

类型

描述

list

Cellection Map Enumeration Iterator array

要迭代的集合,使用集合中的元素来设置各个选项,如果list的属性为Map则Map的key成为选项的value,Map的value会成为选项的内容

listKey

String

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

listValue

String

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

headerKey

String

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

headerValue

String

显示在页面中header选项内容

emptyOption

false

Boolean

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

multiple

false

Boolean

是否多选

size

Integer

显示的选项个数

moveUplabel

String

设置向上移动按钮上的文本

moveDownLabel

String

设置向下移动按钮上的文本

selectAllLabel

String

设置向全部选择按钮上的文本

allowMoveUp

Boolean

设置是否使用向上移动按钮

allowMoveDown

Boolean

设置是否使用向下移动按钮

allowSelectAll

Boolean

设置是否使用全部选择按钮

<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宝典':'2006年10月' , '轻量级J2EE企业应用实战':'2007月4月' , '基于J2EE的Ajax宝典':'2007年6月'}"
    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>

optiontransferselect标签

名称

必需

默认

类型

描述

list

Cellection Map Enumeration Iterator array

要迭代的集合,使用集合中的元素来设置各个选项,如果list的属性为Map则Map的key成为选项的value,Map的value会成为选项的内容,该选项只对第一个列表框起作用

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的属性为Map则Map的key成为选项的value,Map的value会成为选项的内容,该选项只对第二个列表框起作用

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

设置是否使用全部选择按钮

allowUpdownOnLeft

allowUpDownOnRight


<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>
















   

你可能感兴趣的:(struts,list,String,header,Integer,iterator)