我正在使用 struts 迭代器来显示数组列表,我必须在迭代器标记的 end
属性中放置一个条件。两个整数相除时如何得到 CEIL 值。如果数组列表大小为 3,那么我需要将结束属性输出为 2
<s:iterator var="counter" begin="0" end="arraylist.size()/2 " >
/*my code...*/
</s:iterator>
最佳答案
因为size
方法返回类型为 int
和 end
<s:iterator>
的属性最终将被转换为 Integer
您可以简单添加1
在划分数组列表之前先调整其大小,得到与使用 Math.ceil
相同的结果.
<s:iterator var="counter" begin="0" end="(arraylist.size()+1)/2">
</s:iterator>
顺便说一句,如果您决定启用 struts.ognl.allowStaticMethodAccess
不建议使用 Math.ceil
JSP 中的方法,您需要指示您要除以 double 值(例如 2d
),否则它将转换为 int
在将其传递给 ceil
之前.
<s:iterator var = "counter" begin = "0"
end = "@java.lang.Math@ceil(arraylist.size()/2d)">
</s:iterator>
关于java - 在struts标签中划分时获取数字的ceil值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22954614/