This question already has answers here:
JSTL EL accessor translation priority when get and is both exist?

(2个答案)


3年前关闭。




我正在处理一个具有Java Bean的旧系统,该Java Bean具有以下(修剪/遮罩)代码段:
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;
    }
}
我的问题是:
  • 如果我尝试通过ambiguous在JSP表达式语言中引用${bean.ambiguous},解释器用来查找匹配访问器的优先级是什么?
    一个。我已经对其进行了测试,在实践中,它似乎更喜欢isAmbiguous()方法,但是是否总是这种情况/取决于我使用的解释器吗?
  • 我应该改为调用${bean.isAmbiguous()}来(潜在地)减轻将来的旁观者的歧义吗?

  • 正如我已经说过的,这是一个旧系统,因此修改原始类以将ambiguous转换为boolean而不是int是不可行的。

    最佳答案

    看起来已经是asked and answered,默认为布尔public boolean is<PropertyName>()访问器。

    07-24 19:30