编辑: 我正在使用以下数据检索数据的arraylist:[category,content,category,content,...],and 我想在JSP页面上显示一个包含动态数据的表:
<tr>
<td align="center">
Category of Tweets:
</td>
<td align="center">
All Tweets of User:
</td>
</tr>
<tr>
<td align="center">
Entertainment
</td>
<td align="center">
Tweet Content
</td>
</tr>
但是使用我在下面的源代码:
<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>
浏览器似乎在else语句之前复制了额外的表标记:
<td>
</td>
</tr>
<tr>
<td>
</td>
我很失落如何解决这个问题。有人能告诉我应该如何修改代码吗?
答案 0 :(得分:0)
您在结束条件后结束<td>
,然后在其他地方之前开始新的<td>
。
试试这个,看它是否满足你的预期输出。
<td>
<%
if(i%2==0){
String category = stringList.get(i).toString();
out.print(category);
%>
</td>
<td>
<%
String content = stringList.get(i).toString();
out.print(content);
}
%>
</td>
答案 1 :(得分:0)
假设您所说的“我正在使用以下数据检索数据的arraylist:[category,content,category,content,...]”并且该列表包含对元素,您可以迭代列表,如下所示:
<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()/2;i++){
%>
<tr>
<td align="center">
<%
String category = stringList.get(i*2).toString();
out.print(category);
%>
</td>
<td align="center">
<%
String content = stringList.get(i*2+1).toString();
out.print(content);
%>
</td>
</tr>
<%
}
%>
</table>
请注意,类别将迭代位于对位置的元素和0(0,2,4,...),内容将迭代位于奇数位置(1,3,5,...)的元素
答案 2 :(得分:0)
检查此代码,这可能有助于您将这些tr和td标记保存在条件语句中
<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++){
%>
<%
if(i%2==0){%><tr>
<td><%
String category = stringList.get(i).toString();
out.print(category);
%>
</td></tr>
<%}else{ %>
<tr>
<td>
<%
String content = stringList.get(i).toString();
out.print(content);%>
</td>
</tr><%
}
}
%>
</table>
答案 3 :(得分:0)
怎么样
<td>
<%
if(i%2==0){
String category = stringList.get(i).toString();
out.print(category);
}
%>
</td>
<td>
<%
else{
String content = stringList.get(i).toString();
out.print(content);
}
%>
</td>