如何对EL中的布尔条件进行分组



我在使用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。但是当我用'and'操作符连接这两个时,它不起作用。

我试着把

!studentRecords.isValid and !studentRecords.schoolSelected

但这也不行

只要setter和getter写入正确,EL表达式将自动确定正确的托管bean属性。

非布尔管理Bean属性

管理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属性

管理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表达式也可以用来直接计算布尔方法的返回结果,但是必须使用方法括号。

rendered="#{studentRecords.canStudentEnrollToday()}"

相关内容

  • 没有找到相关文章

最新更新