`
chinagdvea
  • 浏览: 126538 次
  • 性别: Icon_minigender_1
  • 来自: 韶关
社区版块
存档分类
最新评论

Struts2作用域和标签库

阅读更多
ActionContext包含的对象
{
ValueStack 包含当前请求的应用程序的特定领域的所有数据 (默认OGNL的跟对象)
parameters 当前请求中请求参数的映射 (表单参数)
application 应用程序作用域的属性映射
session 会话作用域的属性的映射
attr 按照页面.请求.回话.应用程序作用域的顺序.返回第一个出现的属性
request 请求作用域的属性的映射
}

#session['user'] 用#作用域['属性名'] 表示在ActionContext的Session域中查找user #user表示ActionContext中的user

OGNL表达式指向ValueStack栈中最高层的动作属性

一.数据标签

1.property标签 属性: value default escape

为property标签设置default字符串 <s:property value="stringOne" default="defaultString" /> value值会在ValueStack上查找名叫stringOne的属性,若找不到,则默认返回字符

串"defaultString"

在标签中强制使用OGNL表达式解析 <s:property value="stringOne" default="%{myDefault}" /> value值会在ValueStack上查找名叫stringOne的属性,若找不到,则默认返回ValueStack上的

myDefault属性

2.set标签 属性: name value scope 使name指向新引用valueff8

<s:set name="username" value="user.username" scope="application" />  hello, <s:property value="#application['username']" />

此处将 username 的值设置为 user.username 并制定起作用域在application上

3.push标签 属性 value

<s:push value="user" >
  <s:property value="username" /> push标签将value值(user)放置ValueStack顶端.push标签内的内容将直接饮用user的属性而省略user字段.如
</s:push> property将直接显示 user.username 属性

4.bean标签 属性 name, var

<s:bean name="com.v.Test" var="invocation" >  使用了var,则在ActionContext上创建一个命名饮用,不用var,则直接将bean至于ValueStack顶端,可以直接引用他的属性和方法
  <s:param name="number" value="10" />
</s:bean>

public class Test {
  int number;

  public Test() {
    System.out.println(number);
  }
}

param标签用于传入参数,property标签用于获取参数

5.action标签 属性 name, namespace, var, executeResult, flush, ignoreContextParams
var:动作引用名
flush:boolean 是否在标签结尾刷新写出缓冲
executeResult:boolean 是否排除动作的结果
ignoreContextParams: boolean 动作被调用时是否包含请求参数

<s:action name="TargetAction" executeResult="true" />  此处排除SUCCESS结果
<s:property value="#request.dataFromSecondAction" /> 从request中获取dataFromSecondAction属性

<action name=TargetAction" class="com.v.TargetAction">
  <result>/results/Target.jsp </result>
</action>

在TargetAction的execute()方法中

  request.put("dataFromSecondAction", "myData");
  return SUCCESS;

二.控制标签

1.iterator标签 属性 values status

<s:iterator value="users" status="isStatus" > status:以itStatus为引用名在ActionContext中创建实例,用于获取name集合中的各种信息,如大小.索引等等
  <s:property value="#isStatus.counts" />
  <s:property value="here" />
</s:iterator >

输出 1 Mary here
     2 Jack here


2.if 和 else标签  属性 test(判定条件)

<s:if test="user.age > 18"> he's an adult </s:if>
<s:elseif test="user.age < 18"> he's not an adult </s:if>
<s:else >he's 18</s:else>

三.其他标签
1.URL标签 属性 value action var includeParams includeContext encode scheme
value:URL的值,自定的URL
action:URL指向的动作
var:自定义URL引用
includeParams:指定当前请求参数是否传递到新URL中,有all, get, none三种
includeContext:若为true,URL使用程序的Context为前缀
scheme:指定协议

URL = <s:url action="IteratorTag" var="myURL" >
        <s:param name="id" value="9" />
      </s:url >
     
      <a href='<s:property value="#myURL" />'>Click Me </a> 
分享到:
评论

相关推荐

    struts2综合复习习题

    例如:一、Struts2标记库中迭代标签iterator的()方法是判断当前元素是否是第偶数个元素。 A.isOdd B.isLast C.isFirst D.isEven 二、假设在session中存在名为username的属性,通过OGNL访问该属性,正确的代码是...

    低清版 大型门户网站是这样炼成的.pdf

    11.4.1 展示层jsp 2+struts 2标签库实现 711 11.4.2 控制层struts 2实现 720 11.4.3 持久层hibernate 3实现 728 11.4.4 spring 2接管业务逻辑层 730 11.5 小结 733 第12章 站务必备—系统用户管理与流量统计 ...

    Java Web应用详解.张丽(带详细书签).pdf

    10.3 JavaBean 的作用域 10.4 JSP+JavaBean 的应用 10.5 网络留言板V5.0 系统框架篇 第11章 Stmts框架及其应用 11.1 Struts 基础知识 11.2 Struts 应用步骤 11.3 Struts 开发中的中文乱码问题 11.4 Action ...

    从J2SE到J2EE知识点介绍

    3. Struts 2 标签库说明及使用 160 4. set 描述 169 5. text 描述 170 6. property 描述 170 7. Struts的异常处理 171 8. Struts的上传与下载 178 五、 Hibernate 192 (一) 前言 192 (二) 持久化层 193 (三) ORM介绍...

    Spring中文帮助文档

    2.2.1. 新的bean作用域 2.2.2. 更简单的XML配置 2.2.3. 可扩展的XML编写 2.2.4. Annotation(注解)驱动配置 2.2.5. 在classpath中自动搜索组件 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. ...

    Spring API

    2.2.1. 新的bean作用域 2.2.2. 更简单的XML配置 2.2.3. 可扩展的XML编写 2.2.4. Annotation(注解)驱动配置 2.2.5. 在classpath中自动搜索组件 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. ...

    Spring 2.0 开发参考手册

    2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@AspectJ 切面的支持 2.4. 中间层 2.4.1. 在XML里更为简单的声明性事务配置 2.4.2. JPA ...

    spring chm文档

    2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言支持 2.6.2. JMX 2.6.3. 任务规划 2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring ...

    Java语言基础下载

    标签库指令 593 脚本元素 593 动作元素 597 &lt;jsp:include&gt; 598 JSP内置对象 605 Session和Application对象 610 JSP的汉字问题的原理 611 自定义标签 613 标准标签的使用 618 内容总结 621 独立实战 622 第三十章:...

    Spring-Reference_zh_CN(Spring中文参考手册)

    2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@AspectJ 切面的支持 2.4. 中间层 2.4.1. 在XML里更为简单的声明性事务配置 2.4.2. JPA 2.4.3. 异步...

    Java面试宝典2020修订版V1.0.1.doc

    12、作用域public,private,protected,以及不写时的区别? 16 13、Overload和Override的区别。 16 14、构造器可不可以被重载或重写? 16 15、Java中有没有多继承? 16 16、抽象类和接口的区别? 17 17、java中实现...

    java面试题

    Struts2只是起到一个数据接收和转接的功能,就是Controller控制器,而传来数据的页面叫view显示层,Struts2将数据提交给进行处理的类叫Model模型层,专门进行数据处理和数据库的连接。 heap和stack有什么区别? 答:...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

     国内知名的高端IT技术作家,已出版《Spring 2.0宝典》、《基于J2EE的Ajax宝典》、《轻量级J2EE企业应用实战》、《Struts 2权威指南》、《Ruby On Rails敏捷开发最佳实践》等著作。 目录: 第0章 学习Java...

    超级有影响力霸气的Java面试题大全文档

     GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收...

    spring security 参考手册中文版

    30. JSP标签库 230 30.1声明Taglib 230 30.2授权标签 230 30.2.1禁用测试的标签授权 231 30.3认证标签 232 30.4 accesscontrollist标签 232 30.5 csrfInput标签 233 30.6 csrfMetaTags标签 233 31 Java认证和授权...

    java 面试题 总结

     GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收...

Global site tag (gtag.js) - Google Analytics