Struts2 struts标签
2016-02-24 15:26
369 查看
1.index.jsp
2.struts.xml
3.tags.jsp
4.TagsAction.java
5.Dog.java
6.S.java
7.User.java
8.include1.html
9.include2.html
<body> 访问属性 <a href="tags.action?username=u&password=p">tags</a> </body>
2.struts.xml
<struts> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <constant name="struts.devMode" value="true" /> <constant name="struts.ui.theme" value="simple"/> <package name="tags" extends="struts-default"> <action name="tags" class="com.wxh.action.TagsAction"> <result>/tags.jsp</result> </action> </package> </struts>
3.tags.jsp
<body> <ol> <li>property:<s:property value="username"/></li> <li>property 取值为字符串:<s:property value="'username'"/></li> <li>property 设定默认值:<s:property value="admin" default="管理员"/></li> <li>property 设定为HTML:<s:property value="'<hr/>'" escape="true"/></li> <hr/> <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> <li>set 设定范围:<s:set name="adminPassword" value="password" scope="page"/></li> <li>从相应的范围取值:<%=pageContext.getAttribute("adminPassword")%></li> <li>set 设定var,范围为ActionContext:<s:set name="adminPassword" value="password" var="a"/></li> <li>使用#取值:<s:property value="#a"/></li> <hr/> <li>bean 定义bean,并使用param来设定新的属性值; <s:bean name="com.wxh.action.Dog"> <s:param name="name" value="'smalldog'"></s:param> </s:bean> <li>bean查看debug情况: <s:bean name="com.wxh.action.Dog" var="myDog"></s:bean> </li> <hr/> <li>include include1.html 包含静态英文文件 <s:include value="/include1.html"></s:include> </li> <li>include include2.html 包含静态中文文件 <s:include value="/include2.html"></s:include> </li> <li>include include1.html 包含静态英文文件,说明%用法 <s:set var="incPage" value="'/include1.html'"/> <s:include value="%{#incPage}"></s:include> </li> <hr/> <li> <s:fielderror fieldName="fielderror.test" theme="simple"></s:fielderror> </li> <hr/> <li>if elseif else: age=<s:property value="#parameters.age[0]"/><br/> <s:if test="#parameter.age[0]<0">wrong age!</s:if> <s:elseif test="#parameter.age[0]<20">too young!</s:elseif> <s:else>yeah!</s:else><br/> <s:if test="#parameters.aaa==null">null</s:if> </li> <hr/> <li>遍历集合:<br/> <s:iterator value="{1,2,3}"> <s:property/> </s:iterator> </li> <li>自定义变量:<br/> <s:iterator value="{'aaa','bbb','ccc'}" var="x"> <s:property value="#x.toUpperCase()"/> </s:iterator> </li> <li>使用status:<br/> <s:iterator value="{'aaa','bbb','ccc'}" 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"/> <br/> </s:iterator> </li> <li> <s:iterator value="#{1:'a',2:'b',3:'c'}" > <s:property value="key"/>|<s:property value="value"/><br/> </s:iterator> </li> <li> <s:iterator value="#{1:'a',2:'b',3:'c'}" var="x"> <s:property value="#x.key"/>|<s:property value="#x.value"/><br/> </s:iterator> </li> <s:debug></s:debug> </ol> </body>
4.TagsAction.java
package com.wxh.action; import com.opensymphony.xwork2.ActionSupport; public class TagsAction extends ActionSupport{ private String password; private String username; public TagsAction(){ } public String execute(){ this.addFieldError("fielderror.test","wrong!"); return SUCCESS; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } }
5.Dog.java
package com.wxh.action; public class Dog { public Dog(){ } public Dog(String anme){ super(); this.name=name; } private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public String toString(){ return "dog:"+name; } }
6.S.java
package com.wxh.action; public class S { public static String STR="STATIC STRING"; public static String s(){ return "static method"; } }
7.User.java
package com.wxh.action; public class User { private int age; public User(){ System.out.println("user.constructor!"); } public User(int age){ super(); this.age=age; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String toString(){ return "user"+age; } }
8.include1.html
<body> include1.html </body>
9.include2.html
<body> 中文 </body>
相关文章推荐
- Java IO技术
- Java基础03 构造器与方法重载
- RxJava操作符-subscribeOn
- (JavaCard) 技术入门 2 -- 搭建JCDK开发环境-Java Card 3.0.5
- java便捷开发
- Spring-web源码解析之Filter-AbstractRequestLoggingFilter
- java装饰者模式
- Eclipse批量修改
- (JavaCard) 技术入门 1 -- 名词普及
- spring No default constructor found; nested exception is java.lang.NoSuchMethodException: com.slj.mo
- Struts2 OGNL表达式
- Java八种基本数据类型所占字节
- selenium 学习笔记 ---新手学习记录(7) 问题总结(java)
- eclipse 创建maven 项目 动态web工程完整示例
- Java 去掉字符串中的换行符回车符等
- Java 去掉字符串中的换行符回车符等
- Java 去掉字符串中的换行符回车符等
- spring-security配置和原理简介
- 深入浅出设计模式(十三):21.观察者模式(Observer)22.命令模式(Command)23.备忘录模式(Memento)
- 详解spring 每个jar的作用