<g:each in="${checking}" status="i" var="checking2">
<g:if test="${i<10}" >//Break The Loop</g:if>
//Do My Work Here
</g:each>
在上面的示例中,如果可以从“检查”中仅获得前十个值。假设检查返回100个值,我想只访问前十个值。
我知道可以在控制器中使用max:10并在列表中只返回10个值,但我想要如上所述。
PS:我是新手......答案 0 :(得分:4)
您可以使用三元运算符。
<g:each in="${list.size() < 10 ? list : list.subList(0, 10)}" var="data" status="idx">
${idx} --- ${data}<br/>
</g:each>
答案 1 :(得分:1)
尝试这样的事情
<g:each in="[0..9]" var="index">
<g:set var="item" value="${checking[index]}" />
//do whatever you want with item
</g:each>
简而言之,迭代范围0..9并使用index作为列表的索引。
答案 2 :(得分:1)
参考Groovy JDK API Documentation,您可以使用take()在循环之前减少List
<g:each in="${checking.take(10)}" status="i" var="checking2">
//你的工作吗?
答案 3 :(得分:0)
你走了:
<g:set var="checkings" value="${checking[0..(Math.min(checking.size()-1, 9))]}" />
<g:each in="${checkings}" status="i" var="checking2">
</g:each>