从例子开始
ValueStack —— 对OGNL加强
Struts2中OGNL上下文环境
Struts2中使用OGNL进行计算
从例子开始
我们先从个例子开始看看数据在Struts2中是如何运转
Java代码
提问:在Struts2中如何使用Freemarker等模板来读取Action中变量以及HttpServletRequest和HttpSession中变量?
Freemarker等模板在Struts2中有对应Result而在这些Result中Freemarker等模板会根据ValueStack和ActionContext中内容构造这些模板可识别Model从而使得模板可以以他们各自语法对ValueStack和ActionContext中内容进行读取
有关Freemarker对于变量读取可以参考Struts2官方文档非常详细:http://struts.apache.org/2.0.14/docs/freemarker.html
设值计算
Struts2中使用OGNL进行设值计算就是指View层传递数据到Control层并且能够设置到相应Java对象中这个过程从逻辑上说需要分成两步来完成:
1. 对于每个请求都建立个和相应Action对应ActionContext作为OGNL上下文环境和ValueStack并且把Action压入ValueStack
2. 在请求进入Action代码前通过某种通用机制搜集页面上传递过来参数并OGNL相关代码对Action进行设值
上面第个步骤在处理URL请求时完成而第 2个步骤则涉及到另外个XWork核心知识:拦截器所以有关Struts2使用OGNL进行设值计算详细分析将会在拦截器章节具体给出
最新评论