2

Struts 2 将在视图渲染期间首先针对 ValueStack 中的顶部对象解析所有属性名称。但是,如何访问堆栈中较低对象的同名属性呢?

例子:

假设我有一个名为 MyAction 的 Action 类,它有一个 logDate 属性。在调用此操作后呈现的视图中,有这样的:

<s:iterator value="users" status="itStatus">
  <s:property value="logDate"/>
</s:迭代器>

现在想象一个 User 对象也有一个 logDate 属性。在迭代期间,Struts 2 将始终将当前用户对象推到 ValueStack 的顶部,从而有效地解析所有属性名称。但是,如果我想从操作中访问 logDate 怎么办?这样做的正确方法是什么?

4

1 回答 1

3

您可以使用索引来查看子堆栈。例如: [0].logDate 将在堆栈的停止处开始搜索,并在用户对象上找到 logDate。[1].logDate 将开始更深一层的搜索并在 Action 类上找到 logDate。这个OGNL 页面(参见访问静态属性标题正上方的部分)有更多详细信息,这里是另一种解释

于 2010-05-30T14:45:54.533 回答