厌倦了JSP中的旧EL无法调用bean等方法
我可以在JSP中使用SpEL from Spring 3.0:s?
答案 0 :(得分:15)
即将推出的 Spring Framework 3.0.1版本添加了一个新的spring:eval JSP标记,允许您从JSP页面评估SpEL表达式。
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
未来版本将添加与JSP 2.1或&gt;的本机集成。引擎通过统一的EL适应层。
答案 1 :(得分:3)
它会很好,不是吗,但不是,JSP EL是JSP编译器的一个功能。你能做的最好的事情就是编写一个自定义的taglib来评估包含的SpEL表达式,这些表达式相当笨重。
答案 2 :(得分:1)
如果可以升级,您可以在最新的JSP EL / Java EE实现中获得方法调用支持(例如,使用GlassFish v3的Java EE 6)。 JUEL(EL实现)doc page suggests您可以通过将类放入JRE的ext目录中,或者将它们放在WEB-INF/lib
中并依赖于SPI机制来升级(这取决于您的容器支持这个)。最新的JUEL版本支持方法调用。
我对Spring的实现知之甚少,不知道他们是如何插入EL支持的。
答案 3 :(得分:1)
我以McDowell描述的方式在Tomcat中使用JBoss EL。我在我的应用程序的WEB-INF / lib中包含了jboss-el.jar,并将此片段添加到web.xml中:
<!-- jboss el expressions allow method params -->
<context-param>
<param-name>com.sun.faces.expressionFactory</param-name>
<param-value>org.jboss.el.ExpressionFactoryImpl</param-value>
</context-param>