如何解决这个问题:评估 SpringEL 表达式的异常

我正在开发实现 spring 安全性的简单项目。当我尝试使用Spring和Thymeleaf 的注销链接时,问题就出现了。


1.pom.xml


    <!--Spring Boot Dependencies  - Security -->

    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-security</artifactId>

    </dependency>


    <!-- Dependencies Spring Security-->

    <dependency>

        <groupId>org.thymeleaf.extras</groupId>

        <artifactId>thymeleaf-extras-springsecurity4</artifactId>

        <version>2.1.2.RELEASE</version>

        <scope>compile</scope>

    </dependency>

导航栏.html


<ul class="nav navbar-nav navbar-right">

                <!--<li><a th:href="@{/login}" th:text="#{navbar.login.text}"></a></li>-->

                <li th:if="${#authorization.expression('isAuthenticated()')}">

                    <a th:href="@{/login}" th:text="#{navbar.login.text}"/>

                </li>

                <li th:if="${#authorization.expression('isAuthenticated()')}">

                    <form id="f" th:action="@{/logout}" method="post" role="form" class="navbar-form">

                        <button type="submit" th:text="#{navbar.logout.text}" class="btn btn-primary"/>

                    </form>

                </li>

            </ul>

错误截图:

http://img1.mukewang.com/618ce58200016baa09250237.jpg

慕桂英546537
浏览 329回答 1
1回答

心有法竹

当 Thymeleaf Extras Spring Security 版本与 Spring Framework 版本不兼容时会发生此错误,在这种情况下,Spring Boot 版本适用于 Spring Framework 5.x 版,而您拥有的 Thymeleaf Extras Spring Security 版本是 4.x。您需要更新 pom.xml 中的 artifactId 并选择兼容版本或让 Spring Boot 为您选择版本<dependency>&nbsp; &nbsp; <groupId>org.thymeleaf.extras</groupId>&nbsp; &nbsp; <artifactId>thymeleaf-extras-springsecurity5</artifactId>&nbsp; &nbsp; <scope>compile</scope></dependency>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java