简介 今天是学习Struts2第三天,也算struts2准备前奏告一段落,提升部分只能在后期深入了解,多看源码,多参阅资料。今天所学的知识点文件上传、下载/ValueStack&OGNL/Struts2标签 文件上传/下载 文件上传简介 a). 企业常用文件上传技术 : jspSmartUpload...
分类:
Web程序 时间:
2015-03-06 06:12:07
阅读次数:
185
1,ognl,即是object graph navigation language
2. 目的是增强数据的访问功能,增加了valuestack 的功能
3.如果需要访问的属性属于根对象,那么可以直接访问这个属性;否则,必须使用一个对象名作为前缀修饰改属性,如:#person.name
4.struts 2 也可以直接访问属性,它提供了一个属性访问器 property accessor,它...
分类:
编程语言 时间:
2015-03-05 22:26:55
阅读次数:
216
1:? EL表达式 单纯在jsp页面中出现,是在四个作用域中取值,page,request,session,application. 如果在struts环境中,它除了有在上面的四个作用域的取值功能外,还能从值栈(valuestack)中取值 特点: ${name},n...
分类:
其他好文 时间:
2015-03-04 19:37:12
阅读次数:
134
每当请求一个action之后就会创建一个valuestack并将相关的对象push到这个statck中。而valuestack是个什么结构呢?就是包含一个map和stack的结构,如图示
OGNL
在这之前,需要了解一下OGNL,OGNL在之前的印象中用的最多的是在通常的jsp页面用于显示数据的类似于EL表达式或者JSTL这样一个的标签语言。其实OG...
分类:
其他好文 时间:
2015-02-28 18:49:47
阅读次数:
133
1. OGNL
1.1. OGNL介绍
1.1.1. 什么是OGNL
Object Graph Navigation Language,是一门功能强大的表达式语言,类似于EL。
1.1.2. 为什么用OGNL
OGNL表达式功能很强大,后面我们会重点阐述。而Struts2默认采用OGNL表达式访问Action的数据,实际上是通过ValueStack用封装后...
分类:
其他好文 时间:
2015-02-05 13:40:01
阅读次数:
132
1, 当Action设置了某个属性后,Struts将这些属性封装一个叫做Struts.valueStack的属性里。获取valueStack对象: ValueStack vs = (ValueStack) request.getAttribute("struts.valueStack"); 调用Va...
分类:
其他好文 时间:
2015-01-25 08:42:54
阅读次数:
142
1、目标
重新认识下ValueStack;
2、图解
3、解释下用法
struts2中在页面取值的话;是这样的,root中可以直接取值不用加#
但是在ActionContext中取值则需要加#访问才能取到值;
4、struts2中debug标签所对应的root和ActionContext;...
分类:
其他好文 时间:
2015-01-10 01:09:05
阅读次数:
241
值栈(ValueStack) Struts2将OGNL上下文设置为Struts2中的ActionContext(内部使用的仍然是OgnlContext),并将值栈设为OGNL的根对象。 我们知道,OGNL上下文中的根对象可以直接访问,不需要使用任何特殊的“标记”,而引用上下文中的其他对象...
分类:
其他好文 时间:
2015-01-03 13:12:51
阅读次数:
222
流程:
1.当用户请求某个action执行某个功能时(如addInfo),如果此Action实现了ModelDriven这个接口,则ModelDriven的拦截器首先会拦截当前操作的请求,通过此Action的getModel方法,将ModelDriven中的实体类PersonInfo压入到ValueStack的栈顶。
2.然后Parameters拦截器将拦截到的请求参数,根据表单字段映射到Valu...
分类:
其他好文 时间:
2014-12-30 19:06:15
阅读次数:
122
在jsp页面中有这么一行代码:<inputtype="hidden"name="userID"value="<s:propertyvalue=‘userID‘/>"id="userID"/>在action中有这么一行代码:ValueStackvalueStack=ServletActionContext.getContext().getValueStack();valueStack.pop();valueStack.push(newUser)..
分类:
其他好文 时间:
2014-12-17 06:56:41
阅读次数:
131