我的h:commandButton
中有这个属性disabled="#{ not ( ( nodeChild.children == null or empty nodeChild.children ) and ( not setupManager.currentTerminals ) ) }"
如果它呈现disabled="false"
一切正常但另一个则抛出此异常
SEVERE: javax.faces.FacesException: java.lang.IllegalArgumentException: Cannot convert [] of type class java.util.ArrayList to class java.lang.Boolean
写上述条件的最佳方法是什么? 我可以使用括号吗?
答案 0 :(得分:5)
#{setupManager.currentTerminals}
显然正在返回ArrayList
,因此表达式#{not setupManager.currentTerminals}
将失败,因为它不是Boolean
。使用not empty
代替not
。这是重写(注意empty
也涵盖null
,您之前不需要进行空检查。)
disabled="#{not empty nodeChild.children and not empty setupManager.currentTerminals}"