我在样式类中使用三元运算符。我无法通过bean值来设置表的宽度。
这是我的代码:
<table style="#{manageBean.taskDetail.effort1 < 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>
Bean
public String getStyle() {
return number1 > number2? "width:calc((" + (number1 / number2) + ")*100%);background-color:blue;" : "width:10%;background-color:red;";
}