我有一个托管 bean 中的值列表。
价值观 120 70 30 60
然而,要求是将这些值映射到红色(0%)和绿色(100%)之间的颜色。我需要将此转换后的颜色值提供给具有可以是 EL(表达式语言)表达式的颜色属性的数据驱动组件(类似于 a h:dataTable
)的列。
所以对于颜色转换的百分比,我可以使用这里给出的简单算法。尽管它是用 JavaScript 编写的,但它可以很容易地用 Java 编写。让我们调用这个方法color()
并让它在具有原始 List(values) 的托管 bean 中声明。
Color color(double percentage){}
现在我的问题是如何首先将百分比传递给此方法,然后在运行时将转换后的颜色值传递回组件。
例如
<nameSpace:dataTable values="#{bean.Values} var="row" ...>
<nameSpace:column color="#{expression language syntax}" -->
所以这种表达语言应该能够:
首先计算百分比(因此对于值 30 ,百分比应为 (( 30 /120 ) * 100)= 25 ,然后将此百分比传递给
color()
函数。然后继续将百分比传递给先前声明的
color()
方法,然后将该方法的返回设置为color
属性。
我正在使用 JSF2.0。如何做到这一点?