【问题标题】:jstl forEach not printing array elements on different linesjstl forEach 不在不同的行上打印数组元素
【发布时间】:2015-09-30 17:15:56
【问题描述】:

在 .jsp 页面上,我尝试遍历数组并将每个数组打印在新行上。它目前可以工作,但是数组的每个元素都打印在同一行上。以下两种方法我都试过了,都不管用:

 <c:forEach var="individualPath" items="${paths}">
    <tr>
        <td>${individualPath}<br></td>
    </tr>
    <br>
</c:forEach>

<c:forEach var="individualPath" items="${paths}">
<c:out value="${individualPath}" />
    <p>
</c:forEach> 

也尝试过使用 java/jsp 来代替 jstl,如下所示:

<c:forEach var="individualPath" items="${paths}">
    <c:out value="${individualPath}" />
    <%
        out.print("\n");
    %>
</c:forEach>

还尝试使用&lt;pre&gt;&lt;/pre&gt; 标记来保留空白,但结果相同:我的两条路径都压缩为一行

`<pre><c:forEach var="path" items="${paths}">${path}<br/></c:forEach></pre>`

非常感谢您的帮助

【问题讨论】:

  • break 标记应该可以工作,但是您将它们全部放在 和 标记中。这使得它们都在同一行(至少在第一个代码块中)。
  • 我错了。玛尼古普塔王子是对的。

标签: html arrays jsp for-loop jstl


【解决方案1】:

我试过了,但在我的情况下,它按预期工作。让我们看看代码

<table border="1">
      <h3>From 1 to 10</h3>
      <c:forEach var="i" begin="1" end="10">
        <tr>
        <td>${i}<br></td>
        </tr>
      </c:forEach>
</table>

我查看了页面的来源,也符合预期。

<table border="1">
          <h3>From 1 to 10</h3>

            <tr>
            <td>1<br></td>
            </tr>

            <tr>
            <td>2<br></td>
            </tr>

            <tr>
            <td>3<br></td>
            </tr>

            <tr>
            <td>4<br></td>
            </tr>

            <tr>
            <td>5<br></td>
            </tr>

            <tr>
            <td>6<br></td>
            </tr>

            <tr>
            <td>7<br></td>
            </tr>

            <tr>
            <td>8<br></td>
            </tr>

            <tr>
            <td>9<br></td>
            </tr>

            <tr>
            <td>10<br></td>
            </tr>

    </table>

查看源代码是如何转换的并与我们分享。也许可以提供一个开始的指针。

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签