struts2标签中<s:set/>问题

kaig 2009-02-26
#page.mapPages-->Map<String,Page>

<s:iterator value="#page.mapPages" status="stat">
<s:set name="index2" value="#stat.index + 1"/>
<s:set name="kk" value="'#page.mapPages.page' + #index2 +'.name'"/>
<s:property value="%{#kk}"/>@@<!--这种不可以正确显示-->
<s:property value="%{#page.mapPages.page1.name}"/>$$<br/><!--这种可以正确显示-->
</s:iterator>

运行结果:
#kk@@ aa$$
#kk@@ aa$$
#kk@@ aa$$
#kk@@ aa$$

如何才能使#kk输出正确的值?
kaig 2009-02-27
今天看了下webwork in action第八章 找到了一种暂的解决方法:
利用投影:
#page.pages-->list<Page>
<s:iterator value="#page.pages" status="stat">
<s:set name="id2" value="id"/>
<s:property value="#page.pages.{?#this.id==#id2}.{name}[0]"/>
</s:iterator>
运行结果:
aa
bb
cc
dd

ps:此方法还有个不足就是需要<s:set name="id2" value="id"/> ,否则不能直接进行?#this.id==id比较 ,不知道能不能直接进行比较?还有运行时性能与第一种想比可能会慢一点吧,希望有人能利用第一种方法解决问题
Global site tag (gtag.js) - Google Analytics