簡體   English   中英

對動態表jsp使用if else語句

[英]using if else statement for dynamic table jsp

編輯:我正在使用以下數據檢索數據的數組列表:[類別,內容,類別,內容,...],並且我想在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>

我不知道該如何解決這個問題,有人可以告訴我如何修改代碼嗎?

如果滿足條件,您將在<td>之后結束,然后在else之前開始一個新的<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>

假設您說的是“我正在使用諸如[[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將對位於對位置和0(0,2,4,...)的元素進行迭代,content將對位於奇數位置(1,3,5,...)的元素進行迭代

檢查此代碼,這可能有助於您將這些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>

怎么樣

<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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM