我认为这是自动的:
<rich:tooltip value="Download (#{doc.size div 1024 + 1} KB)" />
我需要计算一个文件下载的KB数量(大小是不可变的)。在常规Java代码中,相同的计算将截断小数部分并返回剩余的整数。但是在JSF EL中,没有截断的除法,因此除法返回浮动。
无论如何,它是如何在EL中完成的 - 那是没有引入一个完成这项工作的bean方法?
答案 0 :(得分:2)
您可以使用fn:split()
删除分数。
<ui:param name="size" value="#{fn:split(doc.size / 1024, '.')[0]}" />
<rich:tooltip value="Download (#{size + 1} KB)" />
要小心:它依赖于语言环境。在某些语言环境中,它是逗号,
。我宁愿为这项工作创建/使用EL函数,就像OmniFaces of:formatBytes()
正在做的那样。
<rich:tooltip value="Download (#{of:formatBytes(doc.size)})" />