WAS 8中的EL等效于?

文档说支持参数,但示例使用hl# ,我不知道在哪里使用c:和$而不是来自docs的$:

我所知道的所有关于EL中的$ vs#都与rvalue和lvalue有关,我需要进一步解释何时使用#style。 我正在寻找typ $ …的EL表达式如何获取参数以及如何使用参数调用非getter非setter,例如从请求上下文中的bean中获取常量静态字符串。

与$相比,#做什么? 如果我想使用$,如何在EL中使用参数? 我想要迁移到EL的scriptlet类似于我想在EL中执行的

#{}语法应该仅在Java EE的MVC框架JSF中使用。 另请参阅JSP EL,JSF EL和Unified EL之间的区别 。 只需坚持旧JSP中的${}语法即可。

至于使用参数调用方法,这在Servlet 3.0 / EL 2.2中引入。 WAS 8是一个Servlet 3.0容器,因此它应该支持它。 您只需要确保您的web.xml声明符合Servlet 3.0规范版本。 否则,容器将以与web.xml指示的版本匹配的后备模式运行。 适当的Servlet 3.0 web.xml声明如下所示:

     

这样${object.method(param)}必须有效。

在EL中引用常量是一个不同的故事。 这将在即将推出的EL 3.0中引入 ,它是未来Java EE 7 / Servlet 3.1的一部分(可能未来的WAS 9或10将支持它)。 有定制taglibs风格的解决方案或将它们保存在Map ,所有这些都在这个答案中详细解释: 如何在EL中引用常量?

也可以看看:

  • 我们的EL维基页面