在struts2中xml配置如下,以execl文件为例: <result name="success" type="stream">    <param name="contentType">application/vnd.ms-excel</param>    <param name="contentDisposition">attachment;filename="…
我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用   Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的代码复用.Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求.Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供了大部分标签…
一.加#号取值和不加#号取值的解说 1.s:property 标签——value属性使用事项 1)涉及问题:取值时什么时候该加#,什么时候不加? 2)介绍 <s:property value="...."/> 用于获取ognlcontext对象中的属性值,亦称为数据标签.其中value的值为具体的属性名称. 获取值时,一般有两种情况: 1)在获取request/session/application/attr/parameters这五个范围时,需要明确指定范围,比如 <…
Map栈 :request,session,application的一个属性值或一个请求参数的值. 若想访问ContextMap里的某个对象的属性,可以使用以下几种之一: #object.propertyName #object['propertyName'] #object["propertyName"] 示例: 返回session中的code属性:#session.code; 返回request中的customer对的name属性值:#request.customer.name 返…
Struts2 用s:porperty标签和OGNL表达式来读取值栈中的属性值: I.值栈中的属性值: 1.对象栈:读取对象栈中的某一个对象的属性值: 2.Map栈 :request,session,application的一个属性值或一个请求参数的值. II.读取对象栈(ObjectStack)中的对象属性: 1.若想读取Object Stack里的某个对象的属性,可以通过以下集中形式之一: object.propertyname object['propertyname'] object["…
在jsp页面中获取action中的值: 1.写一个action类OgnlAction类: 需要注意的地方: 如果在aciton中直接使用ognl表达式,将值存储的值栈中,是不能通过跳转将值传到jsp页面中的.因为result标签的默认跳转方式为请求转发方式,所以这里我们将值存储到并行域中. import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; import com…
一.OGNL表达式1.概念:是表达式语言,专门用来访问对象取值用的.2.对比EL表达式使用场景: A.EL主要用在web的jsp页面取值 B.OGNL适用以下环境 1.java程序中 2.在页面使用(配合struts2的标签) 3.在配置文件中使用 二.OGNL在java程序中的使用: Ognl.getValue("表达式", 根对象):三.OGNL在页面中取值1.在stuts2中后台存取数据有两种情况 A.action的属性(值栈) B.在值栈中的数据表达式不加#,在各种作用域中(r…
l  OGNL表达式 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目. Struts2框架使用OGNL作为默认的表达式语言. l  OGNL优势 1.支持对象方法调用,如xxx.doSomeSpecial(): 2.支持类静态的方法调用和值访问,表达式的格式: @[类全名(包括包路径)]@[方法名 |  值名],例如: @java.lang.String@format('foo %s', 'bar') 或@tutorial…
OGNL简介 OGNL,即Object-Graph Navigation Language,对象视图导航语言,是一种数据访问语言,比EL表达式更加强大: EL只能从11个内置对象中取值,且只能获取属性,不能调用对象的方法. OGNL可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图. OGNL是可以单独使用的.OGNL并不属于Struts2,只不过Struts2觉得OGNL不错,把OGNL给整合进来了. Struts2的8个核心jar包中已经包含了OGNL的jar包,不需要我们再导包.…
勿以恶小而为之,勿以善小而不为--------------------------刘备 劝诸君,多行善事积福报,莫作恶 上一章简单介绍了Struts2的'两个蝴蝶飞,你好' (一),如果没有看过,请观看上一章 一 Action的三种实现方式 上一章开发的HelloAction和HelloAction2,并没有继承任何类或者实现任何接口,但是必须有一个execute() 方法,方法返回值是String类型. 这样的代码不容易理解,更并不能使人看得出这个类是干什么的,甚至不能区分这个控制器类与普通的…