为何使用EL了表达式能够访问valueStack中对象的属性-源码分析
来源:互联网 发布:arm linux gcc4.3下载 编辑:程序博客网 时间:2024/06/06 19:08
我们在学习web基础的时候,我们知道使用那个EL表达式能够访问application、request、session等域里面的属性值,但是在struts2中,El表达式为何能够访问valueStack中对象的属性呢?
其实很简单,原因是Struts2中对HttpServletRequest作了进一步的封装,其源代码如下:
//首先先继承request实现类,(wrapper:封装)public class StrutsRequestWrapper extends HttpServletRequstWrapper(){ //继承父类方法 public StrutsRequestWrapper (HttpServletRequest req){ super(req); } public Object getAttribute(String s){ ................. } //先得到ActionContext对象 ActionContext ctx=ActionContext.getContent(); //直接先从request域中获取s属性的值, Object attribute=super.getAttribute(s); if(ctx!=null){ //如果从request中没能获取到s的属性值,那么就从ValueStack中获取 if(attribute==null){ //......................... ValueStack stack=ctx.getValueStack(); aattribute=stack.findValue(); //........................... } }}
搞定!
------------------------------------------------------------------------------------------------苦难不是博得同情的资本,唯有不断奋斗才能改变命运! 0 0
- 为何使用EL了表达式能够访问valueStack中对象的属性-源码分析
- 为何使用EL表达式能够访问valueStack中对象的属性、采用OGNL表达式创建List/Map集合对象
- Struts2的ValueStack及EL表达式中取ValueStack的内幕
- 使用EL表达式访问环境信息的隐含对象
- 使用EL表达式分别获取 某个 web 域 中的对象,访问 javabean 的属性、访问 list 集合、访问 map 集合、访问数组
- EL表达式访问有"."或者"-"的属性
- el表达式怎样取关键字带有点的属性的值,比如key="struts.valueStack"
- EL表达式获取对象属性的原理
- EL表达式获取对象属性的原理
- EL表达式中Bean的属性讲解
- 实战1--应用EL表达式访问JavaBean的属性
- EL表达式中param的分析
- EL表达式中param的分析
- JS属性访问表达式之对象访问属性点方式和中括号方式的区别
- JAVA反射机制-EL表达式获取对象属性的原理
- 通过debug过程分析Struts2什么时候将Action对象放入了值栈ValueStack中
- 通过debug过程分析Struts2什么时候将Action对象放入了值栈ValueStack中
- EL表达式获取值栈数据的源码分析
- 手游2048的一点数学方面的思考
- [STL学习] C++编程实现 (vector)
- webview 调用第三方浏览器的原因及解决办法
- Android之旅之简单翻译
- JAVA培训课程内容
- 为何使用EL了表达式能够访问valueStack中对象的属性-源码分析
- MongoDB 入门
- 练习6.16
- 微电影笔记
- 计算机科学中最重要的32个算法
- JavaIO流基础笔记(二)
- 题目1078:二叉树遍历(2006年清华大学计算机研究生机试真题)
- 如果把马云和我们放在一起会发生什么事儿
- leetcode Convert Sorted List to Binary Search Tree