用velocity遇到的问题



用velocity遇到的问题

最近做一个查询的功能,后台将数据封装在List 和 Map中,在vm模板里面遍历时获取不到值,但断点后台代码时明明有数据。

在网上搜了下velocity遍历List和Map的例子

List:
#foreach($member in $members)
<li>$member.email – $member.firstname $member.lastname</li>
#end

<br>
Map:
#foreach($member in $membersMap.entrySet())
<li>$member.key – $member.value.firstname $member.value.lastname</li>
#end

按照上面的例子写仍然无济于事,然后猜想List是不是由于后台封装list时用了内部类的原因,结果猜想是正确的。下面细说一下我的做法:


由于我是在已有的工程中增加代码,leader说为了减小风险,后台只允许用一个类(查询数据来源于各个接口)来组织数据,由于一个列表的数据来源于两个接口,所以我建了一个内部类的bean用来封装查询结果。

后来我将bean移到外部去独立成一个类,再用上面遍历list的方法,数据就显示出来了。

 

但是map用上面的方法怎么也不行,我就各种尝试,如果是普通的<k,v>直接map.key 数据显示出来了,如果是<k,List>则map.get(“key”)。

 

第一次用velocity,请各位指点!