LibraryDAO.javapublic List getLibrary()
{
Query query=session.createQuery("select name,spec,unit,sum(amount),avg(price),location from Library group by location,name,spec");
List library=query.list();
HibernateSessionFactory.closeSession();
return library;
}
    LibraryDAO ldao = new LibraryDAO();
    List library = ldao.getLibrary();        
    Iterator it =library.iterator();
    while(it.hasNext())
    {
      Object[] results =(Object[])it.next();
      System.out.println("****************************");
      System.out.println(results[0]);
      System.out.println(results[1]);
      System.out.println(results[2]);
      System.out.println(results[3]);
      System.out.println(results[4]);
      System.out.println(results[5]);
      System.out.println("============================");
我这样子可以打印出hql查询执行的结果。
那怎么样子在JSP页面上显示出我这查询的结果?
我不想用
<%
       while(it.hasNext())
{
  Object[] results =(Object[])it.next();%>
        <tr height="25">
          <td align="center" bgcolor="#FFFFCC"><%=results[0] %></td>
          <td align="center" bgcolor="#FFFFCC"><%=results[1] %></td>
          <td align="center" bgcolor="#FFFFCC"><%=results[2] %></td>
          <td align="center" bgcolor="#FFFFCC"><%=results[3] %></td>
          <td align="center" bgcolor="#FFFFCC"><%=results[4] %></td>
          <td align="center" bgcolor="#FFFFCC"><%=results[5] %></td>
          </tr>
          <%} %>
这样子来显示。还有没有其它的方法。有的话,怎么样子实现

解决方案 »

  1.   

     用迭代啊
         <s:iterator id="hehe" status="st" value="aucChooseNumberList">
                              <tr>
                                <td height="20" bgcolor="#FFFFFF"><div align="center"><s:property value="#hehe.userName" /></div></td>
                                <td height="20" bgcolor="#FFFFFF"><div align="center"><s:property value="#hehe.applyDesc" /></div></td>
        </s:iterator >
      

  2.   


    提醒你一点,像这种方式不怎么好,
         MVC
    还行罗,将 view Controll model 分开来写,在 controll 中设置在view中的数据
     request,session,application,这几个的setAttribute("listData",list);页面中用$来结合c标签中的forEach来取数据      
      

  3.   

    先request.setAttribute("librarys",librarys);
    然后页面用jstl
    <c:forEach items="${librarys}" var="l">
    <tr>
    <td>
    ${l.name}
    </td>
    <td>
    ${l.spec}
    </td>
    </tr>
    </c:forEach> 如果用了struts也可以用struts的iterator标签 
      

  4.   

    用struts1的标签,可以这么迭代,假设集合是list
    <logic:iterate id="test" name="list" type="java.lang.String[]">
    <tr height="25"> 
    <td align="center" bgcolor="#FFFFCC"> <%=test[0] %> </td> 
    <td align="center" bgcolor="#FFFFCC"> <%=test[1] %> </td> 
    ......
    </tr> 
    </logic:iterate>struts1的bean:write标签是不行了
      

  5.   

    struts1.x <logic:iterate id="clist" name="librarys" scope="request/session">
    ${clist.属性名}
      </logic:iterate>
      

  6.   

    request.setAttribute("results",results); 
    el表达式,------------${results[0]}${results[1]}${results[2]}
      

  7.   

    我想问一下,怎么没有人提到用bean:write来呢?是不是bean:write不支持?
      

  8.   


    像这样子用,
    request.setAttribute("librarys",library); 然后
    <c:forEach items="${librarys}" var="library"> 

    怎么我这里items有下划线,提示说
    Undefined attribute name (items).

      

  9.   

    用struts标签,迭代:
    HTML
            <logic:iterate id="iter" name="list" type="java.lang.String[]">
            <tr height="25"> 
                <td align="center" bgcolor="#FFFFCC"> <%= iter[0] %> </td> 
                <td align="center" bgcolor="#FFFFCC"> <%= iter[1] %> </td>     
                
            </tr> 
            </logic:iterate>
      

  10.   

    使用JSTL比较好,将Iterator it =library.iterator();
    的it对象放在request对象中
    request.setAttribute("libraryList",it);
    在JSP页面,首先你应该引入jstl核心标签库,然后使用
    <ul>
    <c:forEach items="${librarysList}" var="item">
    <li>${item.xxxx}</li>
    </forEach>
    </ul>循环出来就是一个列表的形式显示出来。
      

  11.   


    不行哦。怎么我的
    <c:forEach items="${librarys}" var="library"> 怎么我这里items有下划线,提示说 
    Undefined attribute name (items).
     
      

  12.   

    bean:write 标签怎么不行了??
      

  13.   

    <c:forEach var="item" items="${librarysList}">
        <tr>
        <td>${item.xxxx} </td>
        </tr>
        </c:forEach>试试看
      

  14.   

    不过真的bean write不行,我也不知道为什么。希望4 楼 Landor2004说一下为什么?