Jstl标签循环输出Map中的数据

闲来没事写个小知识:

     直接上例子:

        假如有一个类:User(用户)

       一个User有好多属性简单举例几个:id, name(姓名), address(地址).....

      另一个类:Car(小车),其有几个简单属性: id, color(颜色), producers(厂家).......

     假如有这样的情景,一个人拥有好几辆Car。

    现在要求将一群人显示到页面,每个人的车也显示到页面。

           Map> userInfoMap=new HashMap>();    //注意此处Map中存储的结构

           ...................例如有3个User对象:user1, user2,user3

          ...................例如user1拥有3两车:u1Car1, u1Car2,u1Car3, 其它两个用户也类似

         ....................List u1CarList=new ArrayList();

        ....................u1CarList.add(u1Car1);

        ....................u1CarList.add(u1Car2);

        ....................u1CarList.add(u1Car3);

        ....................其它类似

          userInfoMap.put(user1, u1CarList);

          userInfoMap.put(user2, u2CarList);

          userInfoMap.put(user3, u3CarList);

      request.setAttribute("userInfoMap",userInfoMap);  //放到request中

------------------下边就jsp页面如何取出

        

               ${obj.key.name}
        //注意此处的写法key

               ${obj.key.address}

             

                  value}" var="carObj">    //注意此处的写法value,也是第二次要循环的List

                        ${carObj.color}

                        ${carObj.producers}

                 

               

       

第一层循环式取key值,即每个User对象,然后就可以取该对象的属性值了。

第二层循环是取key对应的value,此处value是一个集合对象,集合中的每个元素是一个Car对象,同样就可以取出Car的属性了。


          


你可能感兴趣的:(J2EE,JSP)