0

我的jsp中有以下代码。在输出中,行显示为列,列显示为行。

在此处输入图像描述

<%@page import="com.sun.crypto.provider.RSACipher"%>  
<%@include file="DBCon.jsp" %>  
<body><form action="Export1.jsp" method="post">  
<table border="1px"><TR>  
<%  
    ps=con.prepareStatement("Select * from Scope2");  
    rs=ps.executeQuery();  
    ResultSetMetaData rsmd=rs.getMetaData();  
    int NumOfCol=rsmd.getColumnCount();  
for(int i=1;i<=NumOfCol;i++)  
{%></tr>  

<%  
try  
               {  
    ps=con.prepareStatement("Select * from Scope2");  
    rs=ps.executeQuery();  
       while(rs.next()){  

           %>  
                  <td><%=rs.getString(i)%></td>  
           <%  
       }  

}  
catch(Exception e)  
               {  
    out.println(e);  
}}%>  
   </table><table><tr>  
    <input type="Submit" value="Export"></tr></table></form></body> 

并且输出与屏幕 1 中的一样,但我希望输出与屏幕 2 中的一样。请帮助我。

谢谢。

4

2 回答 2

1

您忘记了每个循环</tr>结束时的标签。for所以这可能会产生格式问题。

为什么要在for循环中再次执行该查询,而您可以使用ResultSet rs之前获得的相同查询?

于 2012-11-07T13:20:00.157 回答
1

您弄乱了行格式和循环。这是更新的代码 -

<body><form action="Export1.jsp" method="post">  
<table border="1px">  
<%  
    ps=con.prepareStatement("Select * from Scope2");  
    rs=ps.executeQuery();  
    ResultSetMetaData rsmd=rs.getMetaData();  
    int NumOfCol=rsmd.getColumnCount();  

while(rs.next())  
{%>
<TR>
<%  
try  
     {  
       for(int i=1;i<=NumOfCol;i++){  

           %>  
                  <td><%=rs.getString(i)%></td>  
           <%  
       }  

}  
catch(Exception e)  
{  
    out.println(e);  
}
%></TR><%}%>  

</table><table><tr>  
<input type="Submit" value="Export"></tr></table></form></body>

希望有帮助。

于 2012-11-07T13:46:05.423 回答