我在使用EL评估JSF中的一对布尔表达式时遇到了麻烦。
这是我的代码段:
<a4j:commandButton id="addbtn" value="Add School(s)"
action="#{somebean.someaction}"
disabled="#{not studentRecords.isValid and not studentRecords.schoolSelected}">
</a4j:commandButton>
isValid和schoolSelected返回布尔结果为true或false。但是,当我用'和'运算符连接这两个时,它就不起作用了。
我尝试了
!studentRecords.isValid and !studentRecords.schoolSelected
但这也行不通。
答案 0 :(得分:4)
托管Bean:
private Long studentRecordNumber;
public Long getStudentRecordNumber() {
return this.studentRecordNumber;
}
public void setStudentRecordNumber(Long studentRecordNumber) {
this.studentRecordNumber = studentRecordNumber;
}
JSF标记
rednered="#{studentRecords.studentRecordNumber ne null}"
托管Bean:
private boolean valid;
public boolean isValid() {
return this.valid;
}
public void setValid(boolean valid) {
this.valid = valid;
}
JSF标记
rendered="#{not studentRecords.valid and not studentRecords.schoolSelected}"
EL表达式也可用于直接评估Boolean方法的返回结果,但必须使用方法括号。
rendered="#{studentRecords.canStudentEnrollToday()}"