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;
    }
}

我的问题是:

  1. 如果我尝试通过 ${bean.ambiguous} 在 JSP 表达式语言中引用 ambiguous,解释器用于查找匹配访问器的优先级是什么?

    一个。我已经测试过了,在实践中,它似乎更倾向于 isAmbiguous() 方法,但是 always 是否会成为 case/does 这取决于我的解释器正在使用?

  2. 我应该改为调用 ${bean.isAmbiguous()} 来(可能)减轻未来旁观者的歧义吗?

正如我所说,它是一个遗留系统,因此修改原始 class 将 ambiguous 变成 boolean 而不是 int 并不是一个选项。

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