strruts标签使用简介
来源:互联网 发布:申请域名和空间 编辑:程序博客网 时间:2024/06/06 03:42
web.xml配置如下:
- <filter>
- <filter-name>struts2</filter-name>
- <filter-class>
- org.apache.struts2.dispatcher.FilterDispatcher
- </filter-class>
- </filter>
- <filter-mapping>
- <filter-name>struts2</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
struts.xml配置如下:
- <package name="tags" extends="struts-default">
- <action name="tags" class="com.mengya.action.TagsAction">
- <result name="success">/tags.jsp</result>
- </action>
- </package>
TagsAction如下:
- public class TagsAction extends ActionSupport {
- private String username;
- private String password;
- @Override
- public String execute() throws Exception {
- this.addFieldError("actionError", "error!!");
- 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;
- }
- }
Dog Bean如下:
- public class Dog {
- private String dogName;
- public String getDogName() {
- return dogName;
- }
- public void setDogName(String dogName) {
- this.dogName = dogName;
- }
- @Override
- public String toString() {
- return "Dog:DogName=" + dogName;
- }
- }
页面struts标签使用如下:
- <a href="tags.action?username=u&password=p&age=9">Struts2Tags</a>
- <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="false" />
- </li>
- <hr />
- <li>
- set 设定mengya的值(默认为Request和ActionContext):
- <s:set var="mengya" value="username"></s:set>
- </li>
- <li>
- set 从request中取值:
- <s:property value="#request.mengya" />
- </li>
- <li>
- set 从ActionContext中取值:
- <s:property value="#mengya" />
- </li>
- <li>
- set 设定范围:
- <s:set var="adminPassword" value="password" scope="session" />
- </li>
- <li>
- set 从相应的范围取值:
- <%=session.getAttribute("adminPassword")%>
- </li>
- <li>
- set 从相应的范围取值:
- <s:property value="#session.adminPassword" />
- </li>
- <hr>
- <li>
- bean 定义bean,并使用bean的param来设定的新属性值
- <s:bean name="com.mengya.bean.Dog"></s:bean>
- <%-- 没有指定var则在</s:bean>之前会构造一个对象放在椎顶在</s:bean>结束之前则放到了actionContext中 --%>
- </li>
- <li>
- bean 定义bean,并使用bean的param来设定的新属性值
- <s:bean name="com.mengya.bean.Dog" var="myDog">
- <s:param name="dogName" value="'myDog'"></s:param>
- </s:bean>
- 取出值:
- <s:property value="#myDog" />
- </li>
- <hr>
- <li>
- include 包含静态英文html
- <s:include value="/include1.html"></s:include>
- </li>
- <li>
- include 包含静态中文html
- <s:include value="/include2.html"></s:include>
- </li>
- <li>
- <font color="red">%的用法:%是将%{}中的内空强转成ognl表达示而不是普通字符串</font>
- <s:set var="incPage" value="'/include1.html'"></s:set>
- <br>
- <s:include value="incPage"></s:include>
- <br>
- <s:include value="%{incPage}"></s:include>
- <%-- 将incPage作为ognl表达式 --%>
- </li>
- <li>
- fielderror:
- <s:fielderror key="actionError" theme="simple"></s:fielderror>
- </li>
- <hr>
- <li>
- if elseif else: age =
- <s:property value="#parameters.age[0]" />
- <s:if test="#parameters.age[0]<0">
- age error!
- </s:if>
- <s:elseif test="#parameters.age[0]<20">
- to young!
- </s:elseif>
- <s:else>
- OK!
- </s:else>
- |
- <s:set var="age" value="#parameters.age[0]"></s:set>
- <s:if test="age<0">
- age error!
- </s:if>
- <s:elseif test="age<20">
- to young!
- </s:elseif>
- <s:else>
- ok!
- </s:else>
- |
- <s:if test="#parameters.aaa==null">null</s:if>
- </li>
- <li>
- 遍历集合:
- <br>
- <s:iterator value="{'aa','bb','cc'}">
- <s:property /> |
- </s:iterator>
- </li>
- <li>
- 自定义变量:
- <br>
- <s:iterator value="{'aa','bb','cc'}" var="temp">
- <s:property value="#temp" /> | <s:property
- value="#temp.toUpperCase()" />
- </s:iterator>
- </li>
- <li>
- 使用status:
- <br>
- <s:iterator value="{11,22,33}" 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>
- <s:debug></s:debug>
- </ol>
- 总结:
- $用于i18n和struts配置文件
- #用于得到ActionContext的值
- %将原本的文本属性解析为OGNL表达式,对于本来就是OGNL的属性不起做用
- </body>
- strruts标签使用简介
- struts2 checkboxlist标签的使用简介
- OGNL中$、%、#、{}、^、$ 标签的使用简介
- HTML中meta标签使用简介
- OGNL中$、%、#、{}、^、$ 标签的使用简介
- html中<base>标签的使用,和简介
- META标签简介
- 自定义标签简介
- JSP自定义标签简介
- 自定义标签简介
- Ant简介 (标签)
- struts2.0标签简介
- struts2标签简介
- WebWork标签库简介
- 神奇的""---标签简介
- Jstl标签简介
- struts2 标签 简介
- WebWork标签库简介
- Hibernate二级缓存的并发访问策略
- 数据结构与算法(C语言) 第二章 算法分析 读书笔记
- asp.net 版省市级联菜单(不用ajax照样无刷新)
- 用JSP实现基于Web的RSS阅读器
- date
- strruts标签使用简介
- Android的IPC机制Binder的详解汇总
- 了解分层架构
- windows CE下的USB设备驱动程序分析
- linux下将中文文件名文件cp到windows目录下后文件名乱码问题的解决
- weblogic 驱动配置
- 字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的?
- java调取存储过程
- String类和StringBuffer类的区别