当我们需要ognl表达式获取一个表的数据进行展示时,但是需要展示的数据I关联到了另一张表的时候我们有两种不同的处理方式,第一种当关联到另一张表的数据较多的时候,我们采用的是list结构来存放数据,我们可以采用嵌套遍历标签来进行取值,这样效率会变得比较低,而当我们关联到另一张表中的数据较少的时候我们可以用一个map数据结构来存放数据,用map结构存放当我们需要获取数据的时候回比较方便。例如:
<s:iterator value="#session.uesrlist" var="bean"> <tr> <td><s:property value="#bean.username"/></td> <td><s:property value="#bean.password"/></td> <td><s:property value="#bean.age"/></td> <s:iterator value="#session.viplist"> <s:if test="#bean.vipId==vipId"> <td><s:property value="vipName"/></td> </s:if> </s:iterator> <!-- 由于VIP对象只有两个属性,并且一个可以决定另一个,所以我们可以把取出来的VIP对象放在一个map当中,这样的话我们不需要每次去遍历这个VIP对象的list 直接用:<s:property vlaue="vipmap[#bean.vipId]" />就可以直接取出,提高了运行效率。 --> </tr> </s:iterator> |