context.put("aa", list);传给vm模板一个list,list里装的是map
#foreach($a in $aa)$a.get("1")#end
模板边历list可以,但是获得不了map中的值.
不知道是不能这么用,还是怎么回事?
传对象是可以的
帮忙解决下,谢谢
#foreach($a in $aa)$a.get("1")#end
模板边历list可以,但是获得不了map中的值.
不知道是不能这么用,还是怎么回事?
传对象是可以的
帮忙解决下,谢谢
调试欢乐多
$a.get("1")
#end
你对每一个map肯定不可能键值都是"1"的。我不知道你为什么把map放到一个list中去,其实map就可以看成一个list.
import java.util.HashMap;
import java.util.List;
import java.util.Map;import com.opensymphony.xwork.ActionSupport;public class TestVelocity extends ActionSupport ...{
List members=new ArrayList();
Map membersMap=new HashMap();
public TestVelocity()...{
Member m1=new Member();
m1.setEmail("[email protected]");
m1.setFirstname("gao1");
m1.setLastname("xiang1");
Member m2=new Member();
m2.setEmail("[email protected]");
m2.setFirstname("gao2");
m2.setLastname("xiang2");
Member m3=new Member();
m3.setEmail("[email protected]");
m3.setFirstname("gao3");
m3.setLastname("xiang3");
members.add(m1);
members.add(m2);
members.add(m3);
membersMap.put(1, m1);
membersMap.put(2, m2);
membersMap.put(3, m3);
}public String execute() throws Exception ...{ return SUCCESS;
}public List getMembers() ...{
return members;
}public void setMembers(List members) ...{
this.members = members;
}public Map getMembersMap() ...{
return membersMap;
}public void setMembersMap(Map membersMap) ...{
this.membersMap = membersMap;
}
} <html>
<body>
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
</body>
</html>
有,每个map都的键值都一样