日期:2014-05-20  浏览次数:20800 次

<s:itertor>标签如何使用限制条件
加入我用这个标签循环一个数组 但是只想循环前六个 有什么方法呢?
<s:iterator begin="0" end="5" value="movies" var="m">
这样写的话如果数据库里面的数据多于六条的话没有错 确实可以 但是当数据库里面的数据小于六条的时候就会报错数组越界错误 请问还有其他方法吗?


------解决方案--------------------
个人认为:在action层过滤比较好实现。
------解决方案--------------------
把“movies”放到List里 取前6个, 再用<s:iterator> 标签遍历List !!!!!
------解决方案--------------------
<s:iterator id="s" value="#userList" status="c">
<s:if test="#c.index<6">

这样就好了 目的达到了
------解决方案--------------------
<s:iterator value="movies" var="m" status="st">
<s:if test="#st.count <= 6">
输出的内容
</s:if>
</s:iterator>

以上可以实现。

如果从性能方面考虑,不建议在页面上做,要在SQL中做(即:写一个只能取得6条记录的SQL)。
------解决方案--------------------
对用 if判断下,要是大于6就你那样,要是小与就都显示
------解决方案--------------------
逻辑问题放到后台去好点。界面做好显示就好了。不行的话你可以在action中作两个查询方法也行呀,一个是你的特殊要求。由你任意选择。
------解决方案--------------------
探讨

<s:iterator value="movies" var="m" status="st">
<s:if test="#st.count <= 6">
输出的内容
</s:if>
</s:iterator>

以上可以实现。

如果从性能方面考虑,不建议在页面上做,要在SQL中做(即:写一个只能取得6条记录的SQL)。