如何执行以下操作(java):
for(int i = 0; i < 81 ; i+=20){
//Should loop through 5 times!
}
在Thymeleaf?
我试过这个:
<option th:each="i : ${#numbers.sequence( 1, 81/20)}">
<p th:text="${ i }"></p> <!-- THIS loops 4 times, instead of 5 -->
</option>
问题在于它不如java代码那么准确。怎么做?
答案 0 :(得分:10)
为代码添加步骤非常简单。
#{numbers.sequence(0, 81, 20)}
答案 1 :(得分:8)
使用 iterStat 关键字进行迭代。例 如果你有一个字符串数组,你正在使用百里香叶进行迭代。
<div th:each="str,iterStat : strings">
<span th:text="${str}"/><!--This will print the index value-->
<span th:text="${iterStat.index}"/><!--This will print the Index-->
</div>
答案 2 :(得分:5)
我假设这是由于您使用的数字。对于你的java代码, int i = 0;我&lt; 81; I + = 20 将返回i = 0,i = 20,i = 40,i = 60且i = 80
但是你的代码如下 numbers.sequence(1,81 / 20)} 应该返回从1到4.05的整数,分别为1,2,3和4。
第一个循环返回i的5个结果,因此运行5次。 第二个只返回4个结果,因此运行4次。我建议从0开始运行你的序列,根据需要返回5个结果。
如果您希望Java代码镜像第二个代码,则应将其更改为: int i = 1;我&lt; 4.05; I + = 1
简单地说,你正在使用不同数字的循环,我建议将第二个语句改为从0开始。
答案 3 :(得分:1)
第一个值是计数的开始,第二个是最大值,第三个是增量值
${#numbers.sequence( 1, 4, 1)}