0

编辑:我正在检索具有如下数据的数据数组列表:[category,content,category,content,...],并且我想在 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>

我不知道如何解决这个问题。有人能告诉我应该如何修改代码吗?

4

4 回答 4

0

你在 if 条件之后结束,然后在 else 之前<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>
于 2012-11-19T05:47:48.933 回答
0

假设您所说的“我正在检索具有如下数据的数据数组列表:[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>

请注意,category 将迭代位于 pair 位置和 0 (0,2,4, ...) 的元素,而 content 将迭代位于奇数位置 (1,3,5, ...) 的元素

于 2012-11-19T06:37:57.407 回答
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>
于 2012-11-19T06:43:31.257 回答
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>
于 2012-11-19T08:44:15.967 回答