0

编辑:
我需要使用 JSP 将动态数据显示到具有多行的表上。我希望该表显示 2 行、1 行类别的列和 1 行内容的列。我在下面有一个示例源代码,但它没有以正确的格式显示。我应该如何修改代码以正确的格式显示?

<%
String userName = (String)request.getSession().getAttribute("screenName");
ArrayList<String> stringList = (ArrayList<String>)request.getSession().getAttribute("stringList");
%>
<table id="table" border="1" align="center">
<tr>
<td align="center">
Category of Tweets:
</td>
<td align="center">
All Tweets of User: <%out.println(userName); %>
</td>
</tr>
<%
for(int i=0;i<stringList.size();i++){
%>
<tr>
<td>
<%
if(i%2==0){
String category = stringList.get(i).toString();
out.print(category);
%>
</td>
<%}else{ %>
<td>
<%
String content = stringList.get(i).toString();
out.print(content);
}
%>
</td>
</tr>
<%
}
%>
</table>
4

2 回答 2

0

您的问题很简单,您缺少第二个表格列

您应该有代码在 if 和 else 中输出空白列......如下

我试图简化标签编码

<table id="table" border="1" align="center">
    <tr>
        <td align="center">
            Category of Tweets:
        </td>
        <td align="center">
            All Tweets of User: <%out.println(userName); %>
        </td>
    </tr>
    <%
        for(int i=0;i<stringList.size();i++)
        {   
            String content = stringList.get(i).toString();          
            out.print("<tr>");
            if (i % 2 == 0) 
            {                                   
                out.print("<td>");
                out.print(content);
                out.print("</td>");
                out.print("<td></td>");
            }               
            else 
            {                       
                out.print("<td></td>");
                out.print("<td>");
                out.print(content);
                out.print("</td>");
            }
            out.print("</tr>"); 
        }   
    %>              
</table>

这应该会产生类似的东西......只是作为一个例子

如果您想让描述与 category 位于同一行,请使用单独的计数器...

希望这可以帮助

于 2012-11-19T03:30:02.647 回答
0

请查看您的代码中的以下几点

ArrayList<String> stringList = (ArrayList<String>)request.getSession().getAttribute("stringList");
%>

您再次获取会话对象它已经在 jsp 中可用您可以编写 session.getattribute

String category = stringList.get(i).toString();

您再次使用 toString,因为 arraylist 是字符串类型

于 2012-11-19T03:40:10.567 回答