Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 可以在JSP EL中指定对isAttribute vs getAttribute的访问权限吗?_Java_Jsp_Tomcat_El - Fatal编程技术网

Java 可以在JSP EL中指定对isAttribute vs getAttribute的访问权限吗?

Java 可以在JSP EL中指定对isAttribute vs getAttribute的访问权限吗?,java,jsp,tomcat,el,Java,Jsp,Tomcat,El,我们的主题对象同时具有isChannel和getChannel公共方法。对象图太复杂,无法更改此设置。通道具有整数类型 我们正在从一个应用服务器迁移到Tomcat。当使用这个表达式${topic.channel.type}时,我们当前的应用服务器在JSP中找到getChannel方法。但是,Tomcat找到了isChannel方法,我们得到了错误,因为返回类型是布尔值,而不是通道。有没有办法告诉Tomcat更喜欢getter而不是布尔公共方法 现在我只想编写一个helper函数或公开一个新方法,

我们的主题对象同时具有isChannel和getChannel公共方法。对象图太复杂,无法更改此设置。通道具有整数类型

我们正在从一个应用服务器迁移到Tomcat。当使用这个表达式${topic.channel.type}时,我们当前的应用服务器在JSP中找到getChannel方法。但是,Tomcat找到了isChannel方法,我们得到了错误,因为返回类型是布尔值,而不是通道。有没有办法告诉Tomcat更喜欢getter而不是布尔公共方法


现在我只想编写一个helper函数或公开一个新方法,但我有一种感觉,我会在迁移过程中经常遇到这种情况。

不幸的是,您不能强制这样的方法调用


我已经检查了Javabeans和EL规范,但是没有指定当同时存在
isXXX()
getXXX()
方法时首选的方法是什么。但是,我同意在这种特殊情况下更倾向于使用
getXXX()
一个。这在编程上也是可能的。我认为值得努力将此作为Tomcat EL实现的一个问题进行报告。

不幸的是,您不能强制这样的方法调用


我已经检查了Javabeans和EL规范,但是没有指定当同时存在
isXXX()
getXXX()
方法时首选的方法是什么。但是,我同意在这种特殊情况下更倾向于使用
getXXX()
一个。这在编程上也是可能的。我认为值得努力将其报告为针对Tomcat EL实现的问题。

理论上,这应该是一个JavaBeans问题,而不是EL实现问题。您可以尝试了解
java.beans.Introspector
如何查看您的
主题
类。一种方法是运行我不久前为Struts wiki编写的程序。根据类的复杂性,创建一个显式的
java.beans.BeanInfo
类来强制
channel
属性始终作为一个
Integer
公开可能是有意义的。理论上,这应该是一个JavaBeans问题,而不是EL实现问题。您可以尝试了解
java.beans.Introspector
如何查看您的
主题
类。一种方法是运行我不久前为Struts wiki编写的程序。根据您的课程的复杂性,创建一个显式的
java.beans.BeanInfo
类来强制
channel
属性始终作为一个
Integer

公开可能是有意义的。您对Tomcat使用的JVM与以前的应用服务器使用的JVM相同吗?您对Tomcat使用的JVM与以前的应用服务器使用的JVM相同吗如果我可以登录的话,请告诉我。谢谢此网站上的密码重置已被破坏。只有在您拥有15个声誉的情况下,您才能进行升级投票。只要勾选左边的复选标记就足够了:)如果我可以登录,我会投票给你。谢谢此网站上的密码重置已被破坏。只有在您拥有15个声誉的情况下,您才能进行升级投票。只需勾选左侧的复选标记即可:)