我必须通过我的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>