我有一个MyClass类,带有静态方法getmyStaticMethod()
在尝试通过我的jsp中的EL访问此方法时:
的 $ {MyClass.myStaticMethod}
这让我无法在MyClass类的对象中找到“myStaticMethod”的值 是因为静态方法是在类级别而 EL仅查看对象级别无法找到它????
提前致谢。 :)
答案 0 :(得分:2)
JSP EL无法访问类的静态方法。
${MyClass.myStaticMethod}
表示:在页面范围中找到名为“MyClass”的属性,然后在请求范围内,然后在会话范围中,然后在应用程序范围内,如果找到,则获取名为“myStaticMethod”的属性“(即在此对象上调用getter getMyStaticMethod()
。)
因此,如您所见,它不会查找名为MyClass的类,也不会调用任何静态方法。使用JSP EL无法做到这一点。
编辑:
从表达式语言规范3.0版(Java EE 7的一部分)开始,可以通过
访问静态字段和方法使用类名后跟方法:
${MyClass.myStaticMethod()}