编辑:
我需要使用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>
答案 0 :(得分: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>
如果您希望说明与类别位于同一行,请使用单独的计数器......
希望这有帮助
答案 1 :(得分:0)
请查看代码中的以下几点
ArrayList<String> stringList = (ArrayList<String>)request.getSession().getAttribute("stringList");
%>
您再次获取会话对象它已在jsp中可用,您可以编写session.getattribute
String category = stringList.get(i).toString();
您再次使用toString,因为arraylist的类型为string