如何在zk网格中执行乘法我的网格如下所示
费率数量金额
2-3-6
4-4-16
发布于 2014-06-16 21:28:59
each代表var name,您在for each中如何命名该变量。默认情况下,这是each。如果MVVM:
您可以添加到您的VM:
public long countNumbers (int first, int second) {
return (long)first + second;
}在zul中:
<label value="@load(vm.countNumbers(each.number1, each.numer2))"/>在MVVM或MVC中:
如果需要,你可以用这个方法编写你自己的标记库。(也适用于MVC)
需要在WEB-INF/tld文件夹中创建一个tld文件。:
<taglib>
<!-- count numbers to each other -->
<function>
<name>countUp</name>
<function-class>your.path.Classname</function-class>
<function-signature>
java.lang.Long countNumbers(java.lang.Integer, java.lang.Integer)
</function-signature>
<description>counts the 2 numbers to each other.</description>
</function>
</taglib>然后创建一个新的java util类(注意,该方法需要是静态的):
public static Long countNumbers (Integer first, Integer second) {
return (Long)first + second;
}在zul中:
<?taglib uri="/WEB-INF/tld/taglibname.tld" prefix="ct"?>
<label value="@load(ct:countUp(each.number1,each.number2))"/>如果你使用渲染器,你可以直接在java中设置一行的所有对象,所以计数2个值应该不会有问题,因为你已经有了原始对象。
编辑:将返回类型更改为long (2个大整型可能导致溢出)
https://stackoverflow.com/questions/24219296
复制相似问题