我刚刚在一个 Webapp 中有点意外,我在 .jsp 页面中使用了 EL。
我添加了一个布尔属性并摸不着头脑,因为我将布尔值命名为“isDynamic”,所以我可以这样写:
<c:if test="${page.isDynamic}">
...
</c:if>
我发现它比以下内容更容易阅读:
<c:if test="${page.dynamic}">
...
</c:if>
但是 .jsp 无法编译,出现错误:
javax.el.PropertyNotFoundException: Property 'isDynamic' not found on type com...
我发现我的 IDE(我花了一些时间才注意到它),在生成 getter 时,生成了一个名为:
isDynamic()
代替:
getIsDynamic()
一旦我用 getIsDynamic() 手动替换isDynamic() ,一切正常。
所以我在这里有两个问题:
以“is”开头的布尔属性名称是否不好?
不管它坏与否,IntelliJ 不是在这里通过自动生成一个名为isDynamic而不是getIsDynamic的方法犯了错误吗?