Struts2 Struts 2-访问共享相同名称的ValueStack上的不同属性

Struts2 Struts 2-访问共享相同名称的ValueStack上的不同属性,struts2,ognl,valuestack,Struts2,Ognl,Valuestack,Struts 2将在视图呈现期间首先针对ValueStack中的顶部对象解析所有属性名。但是如何访问堆栈下部对象上具有相同名称的属性 例如: 假设我有一个名为MyAction的Action类,它有一个logDate属性。在调用此操作后呈现的视图中,有以下内容: <s:iterator value="users" status="itStatus"> <s:property value="logDate"/> </s:iterator> 现在假设一个用户对象

Struts 2将在视图呈现期间首先针对ValueStack中的顶部对象解析所有属性名。但是如何访问堆栈下部对象上具有相同名称的属性

例如:

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

<s:iterator value="users" status="itStatus"> <s:property value="logDate"/> </s:iterator>
现在假设一个用户对象也有一个logDate属性。在迭代过程中,Struts 2总是将当前用户对象推到ValueStack的顶部,从而有效地解析针对它的所有属性名。但是,如果我想从动作中访问logDate呢?正确的方法是什么?

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

Nice!非常感谢您的快速回答:)P.S.有没有办法将问题标记为已回答?不客气,很高兴它有所帮助。答案旁边应该有一个空的复选标记。单击它会将其变为绿色以接受它。