java - 在struts标签中划分时获取数字的ceil值

标签 java jsp math struts2 ceil

我正在使用 struts 迭代器来显示数组列表,我必须在迭代器标记的 end 属性中放置一个条件。两个整数相除时如何得到 CEIL 值。如果数组列表大小为 3,那么我需要将结束属性输出为 2

<s:iterator var="counter" begin="0" end="arraylist.size()/2 " >
   /*my code...*/
</s:iterator> 

最佳答案

因为size方法返回类型为 intend <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/

相关文章:

java - 以编程方式在垂直 LinearLayout 内添加约束布局?

java - 如何利用Spring Boot原生支持更好的实现工厂模式?

java - 在不同服务器上运行的两个 Java Web 应用程序之间传输数据的最佳方式

algorithm - 学习我的最终 : Asymptotic notation

java - 找到由给定数字整除的两位数字组成的最小数字

java - Base64 字符串到 Windows1251(西里尔字母符号)

jsp - Web 应用程序停止时无法注销 JDBC

java - requestDispatcher.forward 和 response.redirect 不起作用

c - 斐波那契数列代码

java - new Date(new Date().getTime()-25 * 24 * 60 * 60 * 1000) 得到了意外的日期