struts 标签
2013-10-09 00:09
405 查看
1、通用标签
1.1 property
1.2 set
I 默认为action scope,会将值放入request 和 ActionContext 中
II page、request、session、application
1.3 bean
1.4 include (对中文文件支持有问题,不建议使用,如需包含,改用jsp包含)
1.5 param
1.6 debug
2、控制标签
2.1 if……else if…… else
2.2 iterator
I collections map enumeration iterator array
2.3 subset
3、UI标签
3.1 theme
I simple xhtml(默认) css xhtml ajax
4、AJAX标签
4.1 补充
5、$、#、% 的区别
5.1 $ 用于 i18n 和struts 配置文件
5.2 # 取得ActionContext 的值
5.3 % 将原来的文本属性解析为 ognl,对于本来就是 ognl 的属性不起作用
I 参考<s:property 和 <s:include
范例一:通用标签
范例二:遍历标签
项目范例:
1.1 property
1.2 set
I 默认为action scope,会将值放入request 和 ActionContext 中
II page、request、session、application
1.3 bean
1.4 include (对中文文件支持有问题,不建议使用,如需包含,改用jsp包含)
1.5 param
1.6 debug
2、控制标签
2.1 if……else if…… else
2.2 iterator
I collections map enumeration iterator array
2.3 subset
3、UI标签
3.1 theme
I simple xhtml(默认) css xhtml ajax
4、AJAX标签
4.1 补充
5、$、#、% 的区别
5.1 $ 用于 i18n 和struts 配置文件
5.2 # 取得ActionContext 的值
5.3 % 将原来的文本属性解析为 ognl,对于本来就是 ognl 的属性不起作用
I 参考<s:property 和 <s:include
范例一:通用标签
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@taglib uri="/struts-tags" prefix="s" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Struts-Tags 学习</title> </head> <body> <ol> <li>property:<s:property value="username"/></li> <li>property取值为字符串:<s:property value="'username'"/></li> <li>property设定默认值:<s:property value="admin" default="管理员"/></li> <!-- false 表示不将HTML标签解析成字符串,而是直接作为HTML标签所代表的内容进行输出,这里<hr/>是一条横线,escape默认为true --> <li>设定HTML:<s:property value="<hr/>" escape="false"/></li> <!-- ########################################################################################## --> <!-- set标签用的并不多,比如将一个长名字set成一个短名字的时候可以使用 --> <!-- 定义一个变量,值为username的值,下面的两个方法都可以取得这个值 --> <li>set 设定adminName值(默认为request 和 ActionContext):<s:set var="adminName" value="username"/></li> <li>set 从 request 取值:<s:property value="#request.adminName"/></li> <li>set 从 ActionContext 取值:<s:property value="#adminName"/></li> <!-- scope="page",当前页面有效 --> <li>set 使用name属性(现在已经废弃这种属性了,直接使用var)的时候,设定范围:<s:set name="adminPassWord" value="password" scope="page"/></li> <li>set 从相应范围取值:<%=pageContext.getAttribute("adminPassWord") %></li> <li>set 使用var的时候,默认范围就是ActionContext:<s:set var="adminPassWord" value="password"/></li> <li>set 从 ActionContext 取值:<s:property value="#adminPassWord"/></li> <li>set 使用var的时候,指定session范围:<s:set var="adminPassWord" value="password" scope="session"/></li> <li>set 从 session范围 取值:<s:property value="#session.adminPassWord"/></li> <!-- ########################################################################################## --> <li>bean 定义bean,并使用param 来定义新的属性值 <!-- 必须var 定义之后才能取值,如果不适用var就必须在bean标签之内取值才能取到 --> <s:bean name="com.haizhu.Tags.Dog" var="myDog"> <!-- name="name"是将Dog类中的name赋值为Oudy,注意,一定要在双引号之内加上单引号,不然会将Oudy当做OGNL表达式的 --> <s:param name="name" value="'Oudy'"></s:param> </s:bean> <!-- 当使用var之后,就可以使用"#xx"的方式取值,因为使用var之后就将这个bean放在ActionContext中了 --> <s:property value="#myDog.name"/> </li> <!-- ########################################################################################## --> <li>include 标签 <!-- 一般使用<%@ include %>和<jsp:inclue >这两种方式 --> <s:include value="/_include1.html"></s:include> </li> <li> <s:set var="incPage" value="/_include2.html"></s:set> <!-- %{} 的作用就是将#incPage当做OGNL表达式而不是字符串 --> <s:property value="%{#incPage}"></s:property> </li> </ol> </body> </html>
范例二:遍历标签
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@taglib uri="/struts-tags" prefix="s" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Struts-Tags 学习</title> </head> <body> <ol> <li> if……else if……else 的使用 <!-- 一个属性可以传递多个值(在地址栏通过后缀的形式传递过来),取值的时候如果确定取第一个值,可以使用[0]来指定 --> age=<s:property value="#parameters.age[0]"/> <s:if test="#parameters.age[0] < 0"> Wrong age!</s:if> <s:elseif test="#parameters.age[0] < 0"> Too young!</s:elseif> <s:else>Yeah!</s:else> </li> <!-- 上面这个例子可以使用set来简化写法 --> <li> age=<s:property value="#parameters.age[0]"/> <s:set name="age" value="#parameters.age[0]"/> <s:if test="#age < 0"> Wrong age!</s:if> <s:elseif test="#age < 0"> Too young!</s:elseif> <s:else>Yeah!</s:else> </li> <li> <s:if test="#parameters.aaa == null"> null </s:if> </li> <!-- ########################################################################################## --> <li>遍历集合:<br/> <s:iterator value="{1,2,3}"> <s:property/> | </s:iterator> </li> <li>自定义变量:<br/> <s:iterator value="{'aaa','bbb','ccc'}" var="iter"> <!-- #表示去取ActionContext中的值,这里为什么用呢?难道iter放入ActionContext中了? --> <!-- 对的,看到 var 就表示放在了ActionContext中了!所以,可以用#访问。 --> <s:property value="#iter.toUppperCase()"/> </s:iterator> </li> <li>使用status<br/> <s:iterator value="{'aaa','bbb','ccc','ddd'}"> <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"/> | <br/> </s:iterator> </li> <li>遍历map<br/> <!-- 定义map的时候,前面有个#,跟list不一样的地方 --> <s:iterator value="#{1:'aaa',2:'bbb',3:'ccc'}"> <s:property value="key"/> | <s:property value="value"/> <br/> </s:iterator> </li> <li> <s:iterator value="#{1:'aaa',2:'bbb',3:'ccc'}" var="myMap"> <s:property value="#myMap.key"/> | <s:property value="#myMap.value"/> </s:iterator> </li> </ol> </body> </html>
项目范例:
<s:if test="population.currentAddress != null"> <td class="title"><label>现居地址</label></td> <td colspan="4" class="content"> <span id="alertCon">${population.currentAddress}</span> </s:if> <s:else> <td class="title"><label>无房原因</label></td> <td colspan="4" class="content"> <span>${population.noHouseReason}</span> </s:else>
相关文章推荐
- JSP Struts之HTML标签库详解
- 在websphere下运用struts标签
- struts2.1以后 找不到tree标签
- struts2和struts1.x的标签库
- 使用struts的标签获取后台值需注意
- struts2 在<s:form>之间添加<s:textfield>或其他标签是出现可能的错误
- struts 4000 2--<s:debug>标签的作用
- struts系列学习(tiles标签库一)
- Struts标签之HTML标签
- struts 标签 分页代码
- struts bean 标签 .
- struts中3个标签包
- Struts HTML 标签库
- Struts标签-OGNL-EL-ValueStack-ActionContext之间的区别
- Struts标签、ongl表达式与值栈
- Struts之checkbox标签
- struts <html:text> 标签基本属性
- struts的LOGIC标签详解
- struts标签判断两个session中的字符串值是否相等
- struts 2 <s:select> 标签