context.put("aa", list);传给vm模板一个list,list里装的是map
#foreach($a in $aa)$a.get("1")#end
模板边历list可以,但是获得不了map中的值.
不知道是不能这么用,还是怎么回事?
传对象是可以的
帮忙解决下,谢谢

解决方案 »

  1.   

    你把map里放东西的代码发一下
      

  2.   

    我想错误是这样的,假设你的list是这样的: [{1,"a"} , {2,"b"} , {3,"c"}],其中{}表示一个map。#foreach($a in $aa) 
    $a.get("1") 
    #end 
    你对每一个map肯定不可能键值都是"1"的。我不知道你为什么把map放到一个list中去,其实map就可以看成一个list.
      

  3.   

    给你看网上的一个例子。出处: http://blog.csdn.net/daryl715/archive/2007/04/27/1587951.aspx有member对象,属性有email,firstname,lastname package ch7.example4;import java.util.ArrayList;
    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>
      

  4.   

    1楼:
    有,每个map都的键值都一样
      

  5.   

    找到错误了,list的名字写错了.