从没有主外键关系的两个表中查询出两个表的公共结果集,即一个表中的某个字段是从另一个表查询的条件,用hql语句封装查询语句,查询返回的是一个List集合,存放的request中,跳转到Jap页面后怎么在页面中用c:foreach标签循环遍历输出List集合中的数据?

解决方案 »

  1.   

    <s:iterator value="#list名">
    <s:property value="字段名" />
    .
    .
    .
    </s:iterator>是不是这个意思?
      

  2.   

    <c:forEach items="${list}" var="a">
     ${a.字段名}
     ${a.字段名}
     ${a.字段名}
    .....
    </c:forEach>
      

  3.   

    我用的是foreach遍历的,itearator用的较少,只是在${}中不知怎么写遍历后的字段名
      

  4.   

    1.第一:首先, 建一个第三方实体类(EntityBean), 实体类的属性 为你查询的两表的对象(比如说:表1:User 表2:Buddy)。
    2.第二: 将查询的hql语句返回的结果集,进行for循环遍历,param为查询的条件的参数
    List  list= find(hql,param);
    List<EntityBean> buddy=new ArrayList<EntityBean>();
    for(int i=0;i<list.size();i++){
     EntityBean b=new EntityBean();

     Object[]obj=(Object[])list.get(i);  
     b.getUser().setUsername(obj[0].toString());
             b.getBuddy().setText(obj[1].toString());
     ...
     buddy.add(b);
    }
          
    this.getRequest().put("buddy", buddy) ;
    3.然后,在jsp页面中, 用jstl(或者别的)标签循环遍历即可。