无法找到EL RI表达式工厂

Kri*_*hna 5 jsf jsp el

我在我的应用程序中收到以下异常.

com.sun.faces.config.ConfigurationException:看起来容器的JSP版本早于2.1,无法找到EL RI表达式工厂com.sun.el.E​​xpressionFactoryImpl.如果不使用JSP或EL RI,请确保正确设置了上下文初始化参数com.sun.faces.expressionFactory.

如何在中设置EL细节web.xml.

Bal*_*usC 8

例外是告诉JSP 2.1是必需的.您需要确保您的web.xmlServlet 2.5或更新版本,以及您的servletcontainer支持它(Tomcat 6,Glassfish 2,JBoss AS 5等,或更新版本).JSP 2.1与Servlet 2.5密切相关.适当的Servlet 2.5声明web.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app 
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">

    <!-- Config here. -->

</web-app>
Run Code Online (Sandbox Code Playgroud)

如果你使用的是旧的版本化的servletcontainer,你真的不能升级到至少兼容Servlet 2.5的那个,那么你需要先告诉我们它是哪一个,以便我们可以发布更合适的答案/解决方法.

  • 那么唯一合理的理由是你的类路径搞砸了.你应该**永远不要**触摸`JRE/lib`和`JRE/lib/ext`文件夹.你应该**永远不要在`Tomcat/lib`和`Webapp/WEB-INF/lib`中添加/删除servletcontainer特定的库.如果有,你需要清理它. (2认同)
  • 这是一个特定于servlet容器的库.您不应该需要更新它.它应该已经包含在`Tomcat/lib`中并保持不变.如果`Webapp/WEB-INF/lib`中有任何内容,则需要将其删除.查看一个新的Tomcat安装的`Tomcat/lib`,并将其内容与`Webapp/WEB-INF/lib`进行比较.如果在webapp中有任何类似命名的库,如`jsp-api`,`servlet-api`等等,你需要**从'Webapp/WEB-INF/lib`中删除它们.它们应该由servletcontainer本身提供,而不是由您的webapp提供. (2认同)

Sud*_*kar 5

这是因为最新的 el jar 不在类路径中。\n它也对我有用

\n\n

(参考)请参考链接\n JSF 2.0 + Tomcat:看来容器的JSP版本早于2.1\xe2\x80\xa6

\n