开发者

Struts 2 - Accessing different properties on the ValueStack sharing the same name

Struts 2 will resolve all property names during view rendering against the top object in the ValueStack first. But how can one access a property with the same name on the object lower on the stack?

Example:

Let's say I have an Action class called MyAction and it has a a logDate property. In the view rendered after this action is invoked, there's this:

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

Now imag开发者_开发技巧ine a User object also has a logDate property. During the iteration, Struts 2 will always push the current user object to the top of the ValueStack effectively resolving all property names against it. But, what if I wanted to access logDate from the action? What's the correct way to do this?


You can use an index to look at a substack. For example: [0].logDate would start the search at the stop of the stack and find the logDate on the user object. [1].logDate would start the search one level deeper and find the logDate on the Action class. This OGNL page (see the section right above the Accessing static properties header) has some more detail and here is another explanation.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜