如何将 jsf bean 值传递给 css calc 函数?

How to pass jsf bean value to css calc function?

我正在使用 class 风格的三元运算符。我无法通过 bean 值来设置 table.

的宽度

这是我的代码:

<table style="#{manageBean.taskDetail.effort1 &lt; manageBean.taskDetail.effort2 ? 'width:calc((manageBean.taskDetail.effort1/manageBean.taskDetail.effort2)*100%);background-color:blue;' : 'width:10%;background-color:red;'}">

如果条件满足,则根据计算显示宽度。以上计算无效。

有什么帮助吗?

计算无效,因为您正在嵌套 EL 表达式,这在 JSF 2.2 上是不可能的。因此,calc (css) 按字面意思取 manageBean.taskDetail.effort1,换句话说,就像一个字符串。 您可以在 JS 上进行此计算或构建一个计算 css 样式的 Bean 方法。一个例子:

查看

<table style="#{dummyController.style}">
    <!-- content -->
</table>

豆子

public String getStyle() {
    return number1 > number2? "width:calc((" + (number1 / number2) + ")*100%);background-color:blue;" : "width:10%;background-color:red;";
}