Struts 2将在视图渲染期间首先解析ValueStack中顶级对象的所有属性名称。但是如何在堆栈下方的对象上访问具有相同名称的属性呢?
示例:
假设我有一个名为MyAction的Action类,它有一个logDate属性。在调用此操作后呈现的视图中,有以下内容:
<s:iterator value="users" status="itStatus"> <s:property value="logDate"/> </s:iterator>
现在假设User对象也有一个logDate属性。在迭代期间,Struts 2将始终将当前用户对象推送到ValueStack的顶部,从而有效地解析所有属性名称。但是,如果我想从动作中访问logDate怎么办?这样做的正确方法是什么?
答案 0 :(得分:3)
您可以使用索引查看子包。例如: [0] .logDate将在堆栈停止时开始搜索,并在用户对象上找到logDate。 [1] .logDate会更深入地开始搜索,并在Action类中找到logDate。这个OGNL page(请参阅访问静态属性标题上方的部分)有更多详细信息,这是另一个explanation。