在jsp中以表格格式显示数据

时间:2012-05-14 06:16:56

标签: sql jsp jstl el

我正在尝试以下jsp代码。

    switch(ch)            
    {
    case 1 : 
        ResultSet rsid=stmt.executeQuery("select ID from BcTwo"); 
        while(rsid.next())
        {
        %>  
            <tr><td>
              <%out.println(rsid.getString(1)); %>
            </td></tr>
             <% 
         }
         rsid.close();
         break;
    case 2 : 
        ResultSet rs=stmt.executeQuery("select SERIES from BcTwo");  
        while(rs.next())
        {
        %>  
            <tr><td>
            <%out.println(rs.getString("SERIES")); %>
            </td></tr>
            <%  
        }
        rs.close();
        break;
    }

使用此代码我可以打印数据。但我希望以下列格式打印数据:

ID  Series
1   BE
2   EQ
3   BE
4   BE
5   EQ
6   EQ

使用上面的代码数据打印为:

ID
1
2
3
4
5
6
Series
BE
EQ
BE
BE
EQ
EQ

我应该做些什么来获得所需的输出?

3 个答案:

答案 0 :(得分:1)

switch(ch)            
    {
 %>
 <tr>
 <%
    case 1 : 
        ResultSet rsid=stmt.executeQuery("select ID from BcTwo"); 
          while(rsid.next())
        {
        %>  
            <td>
              <%out.print(rsid.getString(1)); %>
            </td>
              <%    
          }
          rsid.close();
        break;
    case 2 : 
        ResultSet rs=stmt.executeQuery("select SERIES from BcTwo");  
          while(rs.next())
        {
        %>  
            <td>
            <%out.print(rs.getString("SERIES")); %>
            </td>
            <%  
          }
          rs.close();
        break;
    }
    %>
    </tr>

答案 1 :(得分:1)

我得到了答案。

switch(ch)            
{
    case 1 :
        String  ID=(String)session.getAttribute("ID");
          session.setAttribute("ID", ID); 
          if(null == session.getAttribute("ID"))
          { 
          out.println(rsid.getString("ID"));
          } 
          break;
    case 2 :
        String  SERIES=(String)session.getAttribute("SERIES");
        session.setAttribute("SERIES", SERIES); 
        if(null == session.getAttribute("SERIES"))
        { 
        out.println(rsid.getString("SERIES"));
        }  
         break;
}

我不确定这是否是最佳解决方案,但它对我有用。

答案 2 :(得分:0)

首先,在scriptlet中使用java代码是一种不好的做法。你应该避免它。在servlet中执行必要的java代码,并使用EL或JSTL在JSP中显示返回的数据

至于你的问题,每个结果将有一个TR,其中ID和SERIES将打印在2个TD中的TR内

   <%
      ResultSet rsid=stmt.executeQuery("select ID,SERIES from BcTwo"); 
      while(rsid.next())
      {
    %>  
    <tr>
        <td>
          <%out.print(rsid.getString("ID")); %>
        </td>
        <td>
          <%out.print(rsid.getString("SERIES")); %>
        </td>
    </tr>
    <%    
      }
      rsid.close();
    %>

希望这会有所帮助..