我必须通过我的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个Feed,所以我最初声明i为1然后我打印到i + 10。 我的代码第一次工作正常,但第二次它只显示1个feed(它没有递增)。可以有人告诉我可能是什么问题?提前谢谢
答案 0 :(得分:1)
如果没有递增,您将获得所有结果。可能发生的事情是它保持价值&gt; 10,所以它只显示一个项目。尝试在休息前重置i
<% if (i >10) { i = 1; break; } %>
您也可以使用varStatus
,不使用scriptlet
<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>