<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:我是新手......
您可以使用三元运算符。
<g:each in="${list.size() < 10 ? list : list.subList(0, 10)}" var="data" status="idx">
${idx} --- ${data}<br/>
</g:each>
参考Groovy JDK API 文档,您可以使用 take() 在循环之前减少 List
<g:each in="${checking.take(10)}" status="i" var="checking2">
//在这里做你的工作
尝试这样的事情
<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 作为列表的索引。
干得好:
<g:set var="checkings" value="${checking[0..(Math.min(checking.size()-1, 9))]}" />
<g:each in="${checkings}" status="i" var="checking2">
</g:each>