在jsp页面引入struts标签库:
<%@ taglib uri="/struts-tags" prefix=“s”%>
property:标签用于输出指定值:
<s:property value=“#name" default="a default value" />
default:可选属性, 如果需要输出的属性值为null,则显示该属性指定的值
escape:可选属性,指定是否格式化HTML代码。
value:可选属性,指定需要输出的属性值,如果没有指定该属性,则默认输出ValueStack栈顶的值。
例子 :
<s:property/>:输出栈顶的值输出: username=username_valueStack
<s:property value="%{'<hr> hr的使用'}" escape="false" />
输出:<hr> hr的使用
注:escape=“false”时,hr作为html标签使用
set: 标签用于将某个值放入指定范围。
var:变量的名字,name,id和var表达的含义是一样的,name,id被var替代
scope:指定变量被放置的范围,该属性可以接受application、session、request、 page或action。如果没有设置该属性,则默认放置在值栈的context中。
value:赋给变量的值.如果没有设置该属性,则将ValueStack栈顶的值赋给变量。
注意:value的内容被当成OGNL解析,如果是字符串需要使用%{‘字符串’}
例子:
<s:set value="#request.username" var="xxx“ scope=“request” /><br>
<s:property value=“#request.xxx" /><br>
<s:set value="#request.username" var="xxx" scope="page" /><br>
<s:property value="#attr.xxx" /><br>
<s:set value="#request.username" var="xxx" /><br>
<s:property value="xxx" /><br>
或者:<s:property value=“#xxx" /><br>
push:将对象放入栈顶,不能放入其他范围,当标签结束,会从栈顶删除。
value:要push到堆栈中的值 。
例子:
<s:push value="#request.username">
<s:property/>
</s:push><br>
测试删除: <s:property/>
bean标签: 实例化一个符合JavaBeans规范的class,标签体内可以包含几个
Param元素,用于调用setter方法给此class的属性赋值.
name:要被实例化的class名字(必须符合JavaBeans规范)
var:赋给变量的值.放置在request作用域中如果没有设置该属性,则对象被放置到栈顶
例子:
<s:bean name="com.my.bean.Person" var="myperson">
<s:param name="name" value="%{'zhang'}"></s:param>
<s:param name="age" value="34"></s:param>
</s:bean><br>
<s:property value="#myperson.name"/>
Action: 通过指定命名空间和action名称,该标签允许在jsp页面直接调用Action
name:action名字(不包括后缀,如.action)
namespace:action所在命名空间
executeResult:Action的result是否需要被执行,默认值是false不执行
例子:
<package name="helloWord" namespace="/" extends="struts-default">
<action name="hello" class="com.my.action.HelloAction">
<result name="success">/success.jsp</result>
</action>
</package>
<s:action name="hello" namespace="/" executeResult="true" />
Iterator: 标签用于对集合进行迭代,这里的集合包含List、Set和数组
value:可选属性,指定被迭代的集合,如果没有设置该属性,则使用ValueStack栈顶的集合。
var:可选属性,引用变量的名称.
status:可选属性,该属性指定迭代时的IteratorStatus实例。
该实例包含如下几个方法:
int getCount(),返回当前迭代了几个元素。
int getIndex(),返回当前迭代元素的索引。
boolean isEven(),返回当前被迭代元素的索引是否是偶数
boolean isOdd(),返回当前被迭代元素的索引是否是奇数
boolean isFirst(),返回当前被迭代元素是否是第一个元素。
boolean isLast(),返回当前被迭代元素是否是最后一个元素。
例子:
<s:iterator value="#request.allList“ var=“person”>
<s:property value="name"/><br>
<s:property value=“#person.name”/>
</s:iterator>
<s:iterator value="#request.allList" var="person" begin="2" end="7" step="2">
<s:property value="#person.name"/><s:property value="#person.age"/><br>
</s:iterator>
if/elseif/else 基本的流程控制.‘If’标签可单独使用也可以和‘Else If’标签和(或)一个多个‘Else’一起使用
例子:
<table border="1">
<s:iterator value="allList" var="person">
<tr>
<td><s:property value="#person.name"/></td>
<td><s:property value="#person.age"/></td>
<td><s:if test="#person.age<24">少年</s:if>
<s:elseif test="#person.age<26">中年</s:elseif>
<s:else>老年</s:else>
</td>
</tr>
</s:iterator>
</table>
url: 该标签用于创建url,可以通过"param"标签提供request参数.
value:如果不提供就用当前action,使用value后缀必须加.action
action:用来生成url的action,如果没有则使用value
namespace :命名空间
var:引用变量的名称.
例子:
使用action<br>
<s:url action="ognlTagAction_test" namespace="/ognl" var="myurl">
<s:param name="name" value="%{'zhang}"></s:param>
<s:param name="id" value="12"></s:param>
</s:url>
注意:当使用url时,应配合使用struts2的a标签
<s:a href="%{#url}" >xxxx</s:a><br>
使用value<br>
<s:url value="ognlTagAction_test.action" namespace="/ognl" var="myurl">
<s:param name="id" value="12"></s:param>
<s:param name="cnname" value="%{'zhang'}"></s:param>
</s:url>
form表单标签:
<s:form namespace="/" action="tagAction" method="post" enctype="multipart/form-data">
<s:textfield name="username" label="用户名"></s:textfield>
<s:password name="password" label="密码" showPassword="true"></s:password>
<s:hidden name="token" value="这里是值"></s:hidden>
<!-- 如果数据为list,显示的数据,与value的数据相同 -->
<s:checkboxlist list="{'睡觉','继续睡觉','上课睡觉'}" name="love" label="爱好"></s:checkboxlist>
<!-- 如果数据为map,显示map的value,标签value的值为map key -->
<s:radio list="#{'0':'男','1':'女' }" name="sex" label="性别"></s:radio>
<s:select list="{'小班','中班','大班'}" name="xue" label="学历" headerKey="" headerValue="--请选择--"></s:select>
<s:submit value="注册"></s:submit>
</s:form>