struts2标签
一、通用标签
1、property
Name |
Required |
Default |
Evaluated |
Type |
Description |
---|---|---|---|---|---|
default | false | false | String | The default value to be used if value attribute is null | |
escape | false | true | false | Boolean | Deprecated. Use 'escapeHtml'. Whether to escape HTML |
escapeCsv | false | false | false | Boolean | Whether to escape CSV (useful to escape a value for a column) |
escapeHtml | false | true | false | Boolean | Whether to escape HTML |
escapeJavaScript | false | false | false | Boolean | Whether to escape Javascript |
escapeXml | false | false | false | Boolean | Whether to escape XML |
value | false | <top of stack> | false | Object | Value to be displayed |
<s:property value="username" />输出变量名为username的变量,value中的值会被当成ognl表达式输出
<s:property value="'username'" />输出username,加了单引号不会当成ognl表达式而是当成字符串输出
<s:property value="admin" default="xiaoming" /> 输出变量名为admin的值,如果没有则默认为xiaoming
<s:property value="'<br/>'" escape="false" />
2、set
Name |
Required |
Default |
Evaluated |
Type |
Description |
---|---|---|---|---|---|
id | false | false | String | Deprecated. Use 'var' instead | |
name | false | false | String | Deprecated. Use 'var' instead | |
scope | false | action | false | String | The scope in which to assign the variable. Can be application, session, request, page, or action. |
value | false | false | String | The value that is assigned to the variable named name | |
var | false | false | String | Name used to reference the value pushed into the Value Stack |
<s:set var="username" value="xiaomi" />默认为request和ActionContext
从request取值<s:property value="#request.username" />(debug标签可能在username还未放到request中时就已经形成了,所以有时候会看不到)
从ActionContext取值<s:property value="#username" />
设定范围<s:set var="username" value="xiaomi" scope="session" />
从设定范围取值<s:property value="#session.username" />
3、bean
Name |
Required |
Default |
Evaluated |
Type |
Description |
---|---|---|---|---|---|
id | false | false | String | Deprecated. Use 'var' instead | |
name | true | false | String | The class name of the bean to be instantiated (must respect JavaBean specification) | |
var | false | false | String |
Name used to reference the value pushed into the Value Stack |
调用无参构造函数构造一个User类示例:xiaomi<s:bean name="cn.orlion.model.User var="xiaomi"></s:bean>
调用无参构造函数构造一个User类示例:dami,初始化name为dami
<s:bean name="cn.orlion.model.User var="dami">
<s:param name="name" value="'dami'"></s:param> 这里value中的值必须要用单引号引起来,不然会被当成ognl表达式!!!
</s:bean>
4、include
Name |
Required |
Default |
Evaluated |
Type |
Description |
---|---|---|---|---|---|
value | true | false | String | The jsp/servlet output to include |
<s:include value="/index.jsp" />
<s:include value="/index.jsp">
<s:param name="param1">value1</s:param> (value会被当成字符串处理)
<s:param name="param2">value2</s:param>
</s:include>
包含动态文件:
<s:set name="url" value="'/index.jsp'" />
<s:include value="%{#url}" />
5、param
Name |
Required |
Default |
Evaluated |
Type |
Description |
---|---|---|---|---|---|
name | false | false | String | Name of Parameter to set | |
suppressEmptyParameters | false | false | false | Boolean | Whether to suppress empty parameters |
value | false | The value of evaluating provided name against stack | false | String | Value expression for Parameter to set |
可以:<s:param name="param1" value="value1" />这里value1会被当成ognl表达式
也可以:<s:param name="param1" />value1</s:param>这里value1会被当成字符串
6、debug
不多作介绍
二、控制标签
1、if elseif else
<s:if test="%{false}">
<p>1</p>
</s:if>
<s:elseif test="%{true}">
<p>2</p>
</s:elseif>
<s:else>
<p>3</p>
</s:else>
2、iterator
Name |
Required |
Default |
Evaluated |
Type |
Description |
---|---|---|---|---|---|
begin | false | 0 | false | Integer | if specified the iteration will start on that index |
end | false | Size of the 'values' List or array, or 0 if 'step' is negative | false | Integer | if specified the iteration will end on that index(inclusive) |
id | false | false | String | Deprecated. Use 'var' instead | |
status | false | false | false | Boolean | If specified, an instanceof IteratorStatus will be pushed into stack upon each iteration |
step | false | 1 | false | Integer | if specified the iteration index will be increased by this value on each iteration. It can be a negative value, in which case 'begin' must be greater than 'end' |
value | false | false | String | the iteratable source to iterate over, else an the object itself will be put into a newly created List | |
var | false | false | String | Name used to reference the value pushed into the Value Stack |
遍历集合:(输出123)
<s:iterator value="{1,2,3}">
<s:property/>
</s:iterator>
自定义变量:(输出ABC)从集合中迭代取出赋值给val
<s:iterator value="{'a', 'b' , 'c'}" var="val">
<s:property value="#val.toUpperCase()"/>
</s:iterator>
使用status:
<s:iterator value="{'a' , 'b' , 'c'}" status="status">
<s:property/>
遍历过的元素的总数<s:property value="#status.count" />
当前元素的索引<s:property value="#status.index" />
当前是偶数<s:property value="#status.even" />
当前是奇数<s:property value="#status.odd" />
是否是第一个元素<s:property value="#status.first" />
是否是最后一个元素<s:property value="#status.last" />
</s:iterator>
遍历map
<s:iterator value="#{1:'a' , 2:'b' , 3:'c'}">
<s:property value="key" /> | <s:property value="value" />
</s:iterator>
<s:iterator value="#{1:'a' , 2:'b' , 3:'c'}" var="val">
<s:property value="#val.key" /> | <s:property value="#val.value" />
</s:iterator>
3、subset
Name |
Required |
Default |
Evaluated |
Type |
Description |
---|---|---|---|---|---|
count | false | false | Integer | Indicate the number of entries to be in the resulting subset iterator | |
decider | false | false | org.apache.struts2.util.SubsetIteratorFilter.Decider | Extension to plug-in a decider to determine if that particular entry is to be included in the resulting subset iterator | |
id | false | false | String | Deprecated. Use 'var' instead | |
source | false | false | String | Indicate the source of which the resulting subset iterator is to be derived base on | |
start | false | false | Integer | Indicate the starting index (eg. first entry is 0) of entries in the source to be available as the first entry in the resulting subset iterator | |
var | false | false | String | The name to store the resultant iterator into page context, if such name is supplied |
三、UI标签
1、theme
主题,默认为xhtml,可以设置为simple/css_html/ajax
struts.xml中<constant name="theme" value="simple" />