Struts学习之值栈的理解】的更多相关文章

转自:http://blog.csdn.net/hanxuemin12345/article/details/38559979 页面一个请求发送过来,依次经过一系列拦截器(处理公共部分,如:往数据中心(值栈)填充数据,所处理工作与业务无关),Action,Result. 1,经过一系列拦截器 介绍其中的两个拦截器:ModelDriven.Params; ——一个请求过来,首先创建一个值栈对象,经过初始化,然后在Map和对象栈中放入一些数据: (1)值栈的结构: (2)在Map和对象栈中分别存入什…
1.值栈的介绍 1.1 值栈的介绍: 值栈是对应每一个请求对象的数据存储中心,struts2会给每一个请求对象创建一个值栈,我们大多数情况下不需要考虑值栈在哪里,里面有什么,只需要去获取自己需要的数据就可以了,这样就大大的降低了开发人员的工作量和逻辑复杂性. 1.2 值栈的作用: 值栈能够线程安全的为每一个请求对象提供公共的数据存取服务.它可以统一管理页面和action之间的数据,供action.result.interceptor等使用.值栈和请求时一一对应的,也是唯一对应的,每一个请求有且只…
一.值栈简介: 二.OGNL引入: com.cy.action.HelloAction.java: package com.cy.action; import java.util.Map; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.util.ValueStack; public class He…
通过对struts2的一段时间的接触,将自己对OGNL的核心值栈说说,值栈:简单的说,就是存放action的堆栈,当我们提交一个请求 道服务器端 action时,就有个堆栈,如果action在服务器端进行跳转,所有action共用一个堆栈,当需要保存在action中的数据时,首先从栈顶开始 搜索,若找到相同的属性名(与要获得的数据的属性名相同)时,即将值取出,但这种情况可能出现找到的值不是我们想要的值,那么解决此问题需要用TOP语法 和N语法来进行解决. 当在客服端进行跳转时,当有请求提交到服务…
首先声明:本文是从博客园博友的文章转载过来的,感觉说的不错.在此附上地址:http://www.cnblogs.com/jerryxing/archive/2012/04/23/2467299.html 通过对struts2的一段时间的接触,将自己对OGNL的核心值栈说说.值栈:简单的说,就是存放action的堆栈,当我们提交一个请求道server端 action时,就有个堆栈,假设action在server端进行跳转,全部action共用一个堆栈,当须要保存在action中的数据时,首先从栈顶…
目录: 一.值栈 二.OGNL表达式 一.值栈(ValueStack) 1.定义      ValueStack贯穿整个Acton的生命周期,每个Action类的对象实例都拥有一个ValueStack对象,相当于一个数据中转站,在其保存当前的Action对象和其他对象.   2.结构      在ValueStack对象内部有两个逻辑部分.       ObjectStack:  root属性,是一个ArrayList,包含Action对象和其他对象.       ContextMap:  co…
这里先添加下在项目遇到的问题: 这两天在做论坛项目的时候,犯了一个错误:将数据放入值栈中,结果jsp页面获取不到. 困扰了许久: 总结如下: (1)每个action对应相应页面的值栈中值的获取,在属于此action的页面上面如果采用OGNL或者EL表达式获取的值都是从此action中获取的.不要将action对应的页面搞乱了 (2)关于EL表达式获取值栈中心的:map和对象栈stack中的值的获取方式:对于两者的获取方式都是${}这种方式,不分#的. (3)jsp页面的参数获取的形式: 举个例子…
1.index.jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@taglib prefix="s" uri="/struts-tags" %> <html> <head> <title>Index</title> </head> <body&…
用户每次访问struts的action,都会创建一个Action对象.值栈对象.ActionContext对象:然后把Action对象放入值栈中: 最后再把值栈对象放入request中,传入jsp页面(key: struts.valueStack). 值栈的内存结构分为: map栈: request session application list栈: action及全局对象 我们只需要通过ActionContext对象就可以访问struts的其他的关键对象. public class Ognl…
一.OGNL表达式 1.概述 1.1什么是OGNL ​ OGNL是Object-Graph Navigation Language的缩写,俗称对象图导航语言. 它是一种功能强大的表达式语言,通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能. ​ Eg: hibernate 查询方式 : 对象导航查询. ​ 其实就是查询出来了一个对象之后,通过对象里面的getXXX() 来获取关联的对象. ​ 它是一个开源项目,并不是struts发明…