jsp声明和递增变量

  • 本文关键字:变量 声明 jsp jsp rss
  • 更新时间 :
  • 英文 :


我必须通过我的jsp页面显示网站的rss提要,这是代码。

<c:if test="${param.feedURL != null}">
<c:import var="xmlContent" url="${param.feedURL}"/>
<x:parse var="doc" xml="${xmlContent}"/>
<%! int i =1; %>
<table class="table table-condensed">
<th>
    <td colspan="2">
        <strong>Please select an item to set as message.</strong>
    </td>
</th>
 <x:forEach var="story"
            select="$doc/rss/channel/item" varStatus="status">
     <tr>
        <td><input type="radio" name="feedValue[]"  onclick="$('#message').val(this.value);" data-dismiss="modal" value="<x:out select="description" escapeXml="false"/>"></td>
        <td><x:out select="description" escapeXml="false"/></td>
    </tr>
    <% i++; %>
    <% if (i >10) break; %>         
  </x:forEach>
</table>
</c:if>

我只需要显示多达10个提要,所以我最初声明我为1,然后我打印到I+10。我的代码第一次运行得很好,但第二次只显示了一个提要(没有递增)。有人能告诉我问题出在哪里吗?提前感谢

如果不递增,您将获得所有结果。可能发生的情况是,它保持值>10,因此它只显示一个项目。尝试在中断之前重置i

<% if (i >10) { i = 1; break; } %> 

您也可以使用varStatus,而不使用scriptlets

<c:if test="${status.index lt 10}">
     <tr>
        <td><input type="radio" name="feedValue[]"  onclick="$('#message').val(this.value);" data-dismiss="modal" value="<x:out select="description" escapeXml="false"/>"></td>
        <td><x:out select="description" escapeXml="false"/></td>
    </tr>
</c:if>

最新更新