JSP 表达式语言中不明确 (boolean/int) 访问器的优先级是多少?
What is the precedence of ambiguous (boolean/int) accessors in JSP Expression Language?
我正在处理一个带有 Java bean 的遗留系统和这个 (trimmed/masked) 片段:
public class AmbiguousJspElBean {
private int ambiguous;
public int getAmbiguous() {
return ambiguous;
}
public void setAmbiguous(int ambiguous) {
this.ambiguous = ambiguous;
}
public boolean isAmbiguous() {
return ambiguous == 1;
}
}
我的问题是:
如果我尝试通过 ${bean.ambiguous}
在 JSP 表达式语言中引用 ambiguous
,解释器用于查找匹配访问器的优先级是什么?
一个。我已经测试过了,在实践中,它似乎更倾向于 isAmbiguous()
方法,但是 always 是否会成为 case/does 这取决于我的解释器正在使用?
我应该改为调用 ${bean.isAmbiguous()}
来(可能)减轻未来旁观者的歧义吗?
正如我所说,它是一个遗留系统,因此修改原始 class 将 ambiguous
变成 boolean
而不是 int
并不是一个选项。
看起来这已经是 asked and answered,默认为布尔 public boolean is<PropertyName>()
访问器。
我正在处理一个带有 Java bean 的遗留系统和这个 (trimmed/masked) 片段:
public class AmbiguousJspElBean {
private int ambiguous;
public int getAmbiguous() {
return ambiguous;
}
public void setAmbiguous(int ambiguous) {
this.ambiguous = ambiguous;
}
public boolean isAmbiguous() {
return ambiguous == 1;
}
}
我的问题是:
如果我尝试通过
${bean.ambiguous}
在 JSP 表达式语言中引用ambiguous
,解释器用于查找匹配访问器的优先级是什么?一个。我已经测试过了,在实践中,它似乎更倾向于
isAmbiguous()
方法,但是 always 是否会成为 case/does 这取决于我的解释器正在使用?我应该改为调用
${bean.isAmbiguous()}
来(可能)减轻未来旁观者的歧义吗?
正如我所说,它是一个遗留系统,因此修改原始 class 将 ambiguous
变成 boolean
而不是 int
并不是一个选项。
看起来这已经是 asked and answered,默认为布尔 public boolean is<PropertyName>()
访问器。