【发布时间】:2014-01-18 03:23:16
【问题描述】:
我是 Struts 2 的新手。我正在从 Struts2 In Action 一书中学习它。我很难理解 OGNL 中的一些概念,如下 -
-
我们知道
params拦截器将数据从请求参数移动到ValueStack中的action对象。现在在阅读时,我遇到了一句话,上面写着—— “这项工作的棘手部分是将参数名称映射到ValueStack上的实际属性。这就是 OGNL 的用武之地。params拦截器将请求参数名称解释为 OGNL 表达式以定位正确的目的地ValueStack 上的属性”。问题 1) 这里的“解释”是什么意思?是 params 拦截器将请求参数转换为一些 OGNL 表达式,然后 OGNL 表达式提供到 ValueStack 中属性的映射,还是意味着其他什么?
-
当 result 开始其渲染过程时,Struts 2 标签通过使用 OGNL 表达式引用特定值从 ValueStack 中检索数据。
问题2)所以标签采用OGNL表达式,但是数据是如何移动的?早些时候,
params拦截器是移动数据的拦截器,但现在没有params拦截器。那么数据是如何被移动的呢?
【问题讨论】:
标签: java struts2 ognl valuestack struts2-interceptors