相关疑难解决方法(0)

Java:如何命名布尔属性

我只是在Webapp中有一点惊喜,我在.jsp页面中使用EL.

我添加了一个布尔属性并抓住了我的头,因为我已经命名了一个布尔"isDynamic",所以我可以这样写:

<c:if test="${page.isDynamic}">
   ...
</c:if>
Run Code Online (Sandbox Code Playgroud)

我发现哪个更容易阅读:

<c:if test="${page.dynamic}">
   ...
</c:if>
Run Code Online (Sandbox Code Playgroud)

但是.jsp无法编译,错误如下:

javax.el.PropertyNotFoundException: Property 'isDynamic' not found on type com...
Run Code Online (Sandbox Code Playgroud)

我发现我的IDE(我花了一些时间注意它),在生成getter时,生成了一个名为的方法:

isDynamic()
Run Code Online (Sandbox Code Playgroud)

代替:

getIsDynamic()
Run Code Online (Sandbox Code Playgroud)

一旦我通过getIsDynamic()手动替换了isDynamic(),一切都运行正常.

所以我在这里有两个问题:

  1. 使用"is"启动布尔属性的名称是不是很糟糕?

  2. 不管是不是坏了,IntelliJ是否通过自动生成名为isDynamic而不是getIsDynamic的方法犯了错误

java jsp el

16
推荐指数
2
解决办法
2万
查看次数

从jsp el中的对象获取布尔属性

我在jsp页面上下文中有以下对象的实例:

Class User{
  private boolean isAdmin;
  public boolean isAdmin(){return isAdmin}
}
Run Code Online (Sandbox Code Playgroud)

如何从EL查询isAdmin属性?这似乎不起作用:

${user.admin}
Run Code Online (Sandbox Code Playgroud)

这也不是:

${user.isAdmin}
Run Code Online (Sandbox Code Playgroud)

谢谢!

-摩根

java jsp

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×2

jsp ×2

el ×1