2

我在动作类中有一些相同类型的对象..

例如:

LivingThings fish = new LivingThings("FISH");    
LivingThings dog = new LivingThings("DOG");    
LivingThings lion = new LivingThings("LION");

每个对象的内容会有所不同。

同样在同一个动作类中,我有一个值作为对象名称的列表,即

ArrayList<String> animalsList = new ArrayList<String>();    
animalsList.add("fish");
animalsList.add("dog");
animalsList.add("lion");

=====

现在在 jsp 页面中,我需要使用内容动态获取对象animalsList内容。IE

<s:iterator value="animalsList" id="eachAnimal">
    <s:property value="#eachAnimal.lifespan" />
</s:iterator>

在这里,我要做的就是,而不是直接给出类似的代码

<s:property value="fish.lifespan" />
<s:property value="dog.lifespan" />
<s:property value="lion.lifespan" />

animalsList不知何故,我需要从列表中附加对象名称。在struts 2.0中可以吗?我对 OGNL 概念有点困惑。我尝试了这些场景:

<s:iterator value="animalsList" id="eachAnimal">
    <s:property value="#eachAnimal.lifespan" />
    <s:property value="%{eachAnimal}.lifespan" />
    <s:property value="%{#eachAnimal}.lifespan" />
</s:iterator>

有人可以给我建议吗?

4

1 回答 1

1

也许这不是处理这种情况的最佳方法,但你要求的可以这样做:

<s:iterator value="animalsList" id="eachAnimal">
  <s:property value="#attr[#eachAnimal].lifespan" />
</s:iterator>
于 2013-06-03T19:08:42.647 回答