2

我正在尝试以下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

我应该进行哪些更改以获得所需的输出?

4

3 回答 3

2

我得到了答案。

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;
}

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

于 2012-05-30T08:15:34.527 回答
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>
于 2012-05-14T06:21:17.110 回答
1

首先,在 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();
    %>

希望这可以帮助..

于 2012-05-15T00:36:24.593 回答