- 1.访问HTTP请求参数:#parameters[‘id’]或#parameters.id
- 2.访问HTTP请求属性:#request[‘user]或#request.user
- 3.访问session属性:#session[‘user’]或#session.user
- 4.访问application属性:#application[‘user’]或#application.user
-
5.创建List集合,value值为默认
<s:select label="Country" name="country" list="{'America','China','Russia'}" value="%{'China'}" />
-
6.创建一个Map集合
<s:select label="Sex" name="sex" list="#{'0':'female','1':'male'}" />
-
7.if标签:标签体
<s:if test="'A' in {'A','B'}">
In
</s:if>
<s:if test="'foo' not in {'foo','bar'}" >
Not in
</s:if>
<s:else>
In
</s:else>
-
8.iterator标签
//begin:迭代数组或集合的起始位置
//end:迭代数组或集合的结束位置
//status:迭代过程中的状态,该属性可以获取迭代过程中的状态信息(元素个数,当前索引值,索引值奇偶性等)
//step:指定每一次迭代后索引值增加的值
//value:迭代数组或者集合对象
//var:将生成的Iterator设置为page范围的属性
//id:不推荐使用
<s:iterator var="name" value="{'HTML','JAVA','CSS'}" status="st">
<!-- 如果是奇数 -->
<s:if test="#st.odd">
<tr style="background-color:red;">
<td><s:property value="name" /></td>
</tr>
</s:if>
</s:iterator>
// ?:获得所有符合逻辑的元素
//^:获得符合逻辑的第一个元素
//$:获得符合逻辑的最后一个元素
<s:iterator value="people.{?#this.age > 20}" var="p">
<s:property value="p.name" />
</s:iterator>
-
9.append标签
<s:append var="newList">
<s:param value="{'HTML入门','Java基础','css入门'}"></s:param>
<s:param value="{'Struts教程','JavaWeb实战'}"></s:param>
</s:append>
-
10.generator标签:用来将指定字符串按指定分隔符分割成多个子串
//converter:指定转换器
//count:指定生成集合中元素个数
//separator:指定字符串的分隔符
//val:指定被解析的字符串
//var:将生成的Iterator设置为pageContext范围的属性
<s:generator val="%{'aaa,bbb,ccc,ddd,eee'}" count="3" separator=","></s:generator>
- 11.merge标签:用来将多个集合拼接成同一个集合
-
12.sort标签:用于对指定的集合元素进行排序,在进行排序时,必须提供自己的排序规则,即自定义Comparator
//Comparator:指定进行排序实例
//id:不推荐使用,var可替代
//source:指定排序集合,如不指定为ValueStack栈顶集合
//var:将生成的Iterator设置为page范围的属性
<s:sort comparator="#mycomparator" source="{'ccc','adds','bbbb'}"></s:sort>
-
13.subset标签:取出指定集合的子集
//count:指定子集中元素的个数
//decider:指定一个decider对象,该对象决定是否选择该元素
//id:不推荐
//source:指定源集合
//start:指定从第几个元素截取
//var:将生成的Iterator设置为pageContext范围的属性
<s:subset source="{'a','b','c','d'}" start="1" count="2"></s:subset>
-
14.a标签:用于构造HTML页面中的超链接
//action:指定超链接Action地址
//href:超链接地址
//namespace:指定Action地址
//id:指定其id
//method:指定Action调用方法
-
15.action标签:用来在JSP页面中调用Action
//executeResult:指定是否将处理结果页面显示在本页面,默认为false
//var:将指定Action放入ValueStack中
//name:指定调用的Action
//flush:输出结果是否刷新,默认为true
//ignoreContextParams:指定该页面中的参数是否传入指定Action,默认为false
//namespace:指定调用Action的命名空间
<s:action name="user" executeResult="true" namespace="/" />
-
16.bean标签
<s:bean name="com.model.User" var="usr">
<s:param name="name" value="'tom'">
<s:param name="age" value="20">
<s:if test="#usr.age > 10">
<s:property value="#usr.name" />
</s:if>
</s:bean>
-
17.date标签:输出指定格式的日期
//name:指定日期值
//var:指定将日期放入ValueStack中
//nice:指定是否输出指定日期和当前日期之间的时差
//format:指定输出格式
<s:date name="person.birthday" format="dd/MM/yyyy" />
- 18.debug标签:主要用于开发者在开发过程中调试程序时输出更多的调试信息
-
19.i18n标签:用来进行资源绑定,然后将其放入ValueStack
//name:指定资源文件
- 20.include标签:将一个JSP页面包含到该页面中
- 21.param标签:用于为其他标签提供参数
-
22.property标签:用于输出ValueStack中对象的属性值,可以使用其value属性来指定要输出的对象属性
//value:指定要输出的值
//default:指定默认输出值,如果输出值为null,则输出default属性值
<s:property value="username" default="普通用户" />
-
23.push标签:将一个值放到ValueStack的栈顶
<s:push value="user">
<s:property value="firstName" />
</s:push>
-
24.set标签:用于将某个值放入指定范围内
//value:指定将赋给变量的值,如果没有则将ValueStack栈顶的值赋给变量
//var:指定变量名,该变量将会放入ValueStack,也可使用name或id
//scope:指定变量放入范围(application,request,session,page,action),默认为action范围
<s:set var="personName" value="person.name" />
<s:property value="#personName" />
-
25.text标签:主要用来输出国际化资源文件信息
//name:要获取的资源属性
//searchValueStack:假如无法获取资源属性,是否要到stack中搜索其属性
//var:命名得到的资源属性,然后放入ValueStack中
-
26.url标签:用来生成URL映射地址
//action:指定生成的URL地址的Action,如果不提供该属性,则使用value值为URL的地址值
//anchor:指定URL的锚点
//encode:指定是否对参数进行编码,默认为true
//escapeAmp:指定是否对&符号进行编码,默认为true
//includeContext:指定将当前上下文包含在URL地址中
//includeParams:指定是否包含请求参数,其值只能为none、get或all,默认为get
//method:指定Action调用方法
//namespace:指定Action命名空间
//value:指定生成URL地址,如果value属性不提供则使用action属性值为URL地址
//var:指定该链接变量,并将其放入ValueStack中
<!-- 生成映射地址url -->
<s:url value="user.action" var="url" >
<s:param name="id" value="10" />
</s:url>
<!-- 访问url对应的地址 -->
<s:a href="%{url}">user</s:a>
-
27.form标签
//action:指定提交时对应的Action
//namespace:指定action命名空间
- 28.submit标签:产生提交按钮
-
29.checkbox标签:创建复选框
//name:指定该元素name
//value:指定该元素value
//label:生成一个label元素
//fieldValue:指定真实的value,会屏蔽value属性值
-
30.checkboxlist标签:用于一次性创建多个复选框
//name:指定表单元素名字
//list:要迭代的集合,使用集合中的元素来设置各个选项,如果list的属性为Map,则Map的key成为选项的value,Map的value会成为选项的内容
//listKey:指定集合对象中的哪个属性作为选项的value
//listValue:指定集合对象中的哪个属性作为选项的内容
<s:checkboxlist name="characters" list="#{'a':'1','b':'2','c':'3'}"
label="choose a character" labelposition="top"
listKey="key"
listValue="value" />
-
31.combobox标签:用于创建文本框和下拉列表框的组合
//name:指定表单元素名字
//list:指定集合,该集合中的元素对应生成的列表项
//headerKey:headerValue的键,默认为"-1"
//headerValue:用作标题的选项的文本,因为它是一个标题,所以是只读的,不能选择
//label:生成一个label元素
<s:combobox label="My Favourite Fruit" name="fruit"
list="{'apple','banana','grape','pear'}"
headerKey="-1"
headerValue="----please select-----"
emptyOption="true"
value="banana" />
-
32.doubleselect标签:创建两个相关联的列表框
//list:指定要迭代的集合,使用集合中的元素来设置各个选项
//listKey:指定集合对象中哪个属性作为选项的value,该选项只对第一个列表框起作用
//listValue:指定集合对象中的哪个属性作为选项的内容,该选项只对第一个列表框起作用
//doublelist:指定第二个列表框要迭代的集合
//doubleListKey:指定集合对象中的哪个属性作为选项的value,该选项只对第二个列表框起作用
//doubleListValue:指定集合对象中的哪个属性作为选项的内容,该选项只对第二个列表框起作用
//doubleName:指定第二个列表框的name属性
//multiple:是否多选,默认为false
<s:doubleselect label="choose a city"
name="province" list="{'四川省','山东省'}" doubleName="city"
doubleList="top == '四川省' ? {'成都市','绵阳市'} : {'济南市','青岛市'}" />
- 33.head标签:用于生成HTML的HEAD部分
- 34.file标签:创建一个文件选择框
- 35.hidden标签:创建一个隐藏表单元素
-
-
inputtransferselect标签:用来获取输入转到列表框中,或从列表中移除,实际上该标签创建了多个表单元素的集合
//list:要迭代的集合,使用集合中的元素来设置各个选项
//listKey:指定集合对象中哪个属性作为选项的value
//listValue:指定集合对象中哪个属性作为选项的内容
//multiple:指定是否多选,默认为false
//upLabel:设置向上移动按钮上的文本
//downLabel:设置向下移动按钮上的文本
//allowMoveUp:设置是否使用向上移动按钮,默认为true
//allowMoveDown:设置是否使用向下移动按钮,默认为true
//addLabel:设置添加输入到右边列表框的按钮上的文本
<s:inputtransferselect
label="Favourite fruits"
name="fruits"
list="{'apple','banana','pear'}"
upLabel="up"
downLabel="down"
removeAllLabel="removeall"
removeLabel="remove"
addLabel="add" />
- 37.label标签:生成label标签
-
38.optiontransferselect标签:创建一个选项转移列表组件
//list:要迭代的集合,使用集合中的元素来设置各个选项
//listKey:指定集合对象中的哪个属性作为选项的value,该选项只能对第一个列表框起作用
//listValue:指定集合对象中的哪个属性作为选项的内容,该选项只对第一个列表框起作用
//multiple:是否多选,默认为false
//doubleList:要迭代的集合,使用集合中的元素来设置各个选项
//doubleListKey:指定集合对象中的哪个属性作为选项的value,该选项只对第二个列表起作用
//doubleListValue:指定集合对象中的哪个属性作为选项的内容,该选项只对第二个列表框起作用
//doubleMultiple:是否多选,默认为false
//doubleName:指定第二个列表框的name属性
<s:optiontransferselect
label="Favourite Cartoons Characters"
name="leftSides"
leftTitle="Left Title"
rightTitle="Right Title"
list="{'Popeye','He-Man','Spideman'}"
multiple="true"
headerKey="headerKey"
headerValue="---Please Select---"
emptyOption="true"
doubleList="{'Superman','Mickey Mouse','Donald Duck'}"
doubleName="rightSides"
doubleHeaderKey="doubleHeaderKey"
doubleHeaderValue="---Please Select---"
doubleEmptyOption="true"
doubleMultiple="true" />
-
39.select标签:创建一个下拉列表框
//list:要迭代的集合
//listKey:指定集合对象中的哪个属性作为选项的value
//listValue:指定集合对象中的哪个属性作为选项的内容
//headerKey:设置当用户选择了header选项时,提交的value,如果使用该属性,不能为该属性设置空值
//headerValue:显示在页面中header选项的内容
//multiple:指定是否多选,默认为false
<s:select label="Months"
name="months"
headerKey="-1" headerValue="Select Month"
list="#{'01':'Jan','02':'Feb'}"
listKey="key"
listValue="value" />
-
40.optgroup标签:生成一个下拉列表框的选项组
//list:要迭代的集合
//listKey:指定集合对象中的哪个属性作为选项的value
//listValue:指定集合对象中的哪个属性作为选项内容
<s:select label="My Selection"
name="mySelection"
value="%{'POPEYE'}"
list="%{#{'SUPERMAN':'Superman','SPIDERMAN':'spiderman'}}">
<s:optgroup label="Adult"
list="%{#{'SOUTH_PARK':'South Park'}}" />
<s:optgroup label="Japanese"
list="%{#{'POKEMON':'pokemon','DIGIMON':'digimon'}}" />
</s:select>
-
41.password标签:创建一个密码输入框
<s:password label="Password" name="password" maxlength="15" />
-
42.radio标签:创建多个单选框
<s:radio label="Gender" name="gender" list="#{'male':'男','female':'女'}"
listKey="key"
listValue="value" />
- 43.reset标签:创建一个重置按钮
- 44.textarea/textfield标签:创建文本框,textarea多行,textfield单行
-
45.token标签:用于防止表单重复提交
<s:form>
<s:token />
</s:form>
-
46.updownselect标签:用来创建一个带有上下移动的按钮的列表框
//list:要迭代的集合
//listKey:指定集合对象中的哪个属性作为选项的value
//listValue:指定集合对象中哪个属性作为选项的内容
//multiple:指定是否多选,默认为false
//moveUpLabel:设置向上移动按钮上的文本
//moveDownLabel:设置向下移动按钮上的文本
//allowMoveUp:设置是否使用向上移动按钮,默认true
//allowMoveDown:设置是否使用向下移动按钮,默认true
//allowSelectAll:设置是否使用全部选择按钮,默认为true
//selectAllLabel:设置全部选择按钮上的文本
<s:updownselect
list="#{'england':'England','america':'America','germany':'Germany'}"
name="country"
headerKey="-1"
headerValue="---choose a country---"
emptyOption="true"
moveUpLabel="up"
moveDownLabel="down"
selectAllLabel="all" />
- 47.actionerror标签:用于输出错误信息到客户端
- 48.actionmessage标签:用于输出提示信息到客户端
- 49.component标签:主要用来使用自定义标签、模板、主题
- 50.div标签:输出div标签
- 51.fielderror标签:输出Action中的fieldErrors属性保存的字段错误