1

我刚刚升级了一个 Spring MVC 应用程序,版本3.2为 a4.0.2并且我的视图标签不再工作。

错误:

java.lang.ClassNotFoundException: org.springframework.web.util.ExpressionEvaluationUtils
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
org.springframework.web.servlet.tags.MessageTag.resolveMessage(MessageTag.java:215)
org.springframework.web.servlet.tags.MessageTag.doStartTagInternal(MessageTag.java:166)
org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag(RequestContextAwareTag.java:80)
org.apache.jsp.views.templates.main_jsp._jspx_meth_spring_005fmessage_005f0(main_jsp.java:570)

ExpressionEvaluationUtils在 Spring 中已弃用3.2并在4.x.

我正在使用 Eclipse IDE 运行 Tomcat 7.0.50。

我在这里想念什么?

贝洛是我配置的一些部分。

 <java-version>1.7</java-version>
    <org.springframework-version>4.0.2.RELEASE</org.springframework-version>
    <spring-security.version>3.2.1.RELEASE</spring-security.version>
<dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${org.springframework-version}</version>
        <exclusions>
            <!-- Exclude Commons Logging in favor of SLF4j -->
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
            </exclusion>
            <exclusion>
                <artifactId>spring-aop</artifactId>
                <groupId>org.springframework</groupId>
            </exclusion>
        </exclusions>
    </dependency>
     <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>${org.springframework-version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${org.springframework-version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${org.springframework-version}</version>
    </dependency>
4

3 回答 3

0

我刚刚发现您需要将 jsp-config 更改web.xmlignore-el = true. 现在可以了。

<jsp-config>
    <jsp-property-group>
        <url-pattern>/**</url-pattern>
        <el-ignored>**true**</el-ignored>
    </jsp-property-group>
</jsp-config>
于 2014-03-07T13:02:07.867 回答
0

如果您在升级 spring 时没有更改 JSP,那么您可能已经从旧的 spring 版本编译了旧的 JSP(堆栈跟踪中的.tags.MessageTag.东西)。清除您的 tomcat 工作目录以重新编译 JSP 并重试。

于 2014-03-06T22:00:30.033 回答
0

您还需要将 spring-security 依赖项更新为 4.0.n.RELEASE 版本。

于 2015-06-27T15:59:17.100 回答