Spring boot:如何将thymeleaf转换为jsp

Posted

技术标签:

【中文标题】Spring boot:如何将thymeleaf转换为jsp【英文标题】:Spring boot: How to convert thymeleaf to jsp 【发布时间】:2019-03-25 14:27:33 【问题描述】:

我最近学习了一个使用 Spring Boot 的身份验证和授权教程。它工作正常,我想将它集成到我现有的项目中。我遵循的教程是用 thymeleaf 编写的,我当前的项目是用 jsp 编写的。我尝试在线搜索,但它给了我错误。

这是我的代码:

控制器

@RequestMapping(value =  "/","/welcome" , method = RequestMethod.GET)
public ModelAndView test() 
    ModelAndView model = new ModelAndView("welcomePage");
    model.addObject("title","Welcome");
    model.addObject("message","This is welcome page");
    return model;

百里香

<a th:if="$#request.userPrincipal != null" th:href="@/logout">Logout</a>

JSP

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

    <div>
        <a href="/">Home</a> | &nbsp; 
        <a href="/userInfo">User Info </a> | &nbsp; 
        <a href="/admin">Admin</a> | &nbsp; 

        <c:if test="$pageContext.request.userPrincipal != null">
            <h2>Logout</h2> 
            <br>
        </c:if>


        $pageContext.request.userPrincipal



    </div>

</body>
</html>

pom.xml

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>
    <dependency>
        <groupId>jstl</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>

application.properties

这是我遇到的问题之一。当我尝试运行它时,它给了我这个错误。

/WEB-INF/jsp/_menu.jsp (line: [18], column: [2]) According to TLD or attribute directive in tag file, attribute [test] does not accept any expressions

这是我第一次使用它。希望你能帮助我。非常感谢!!

【问题讨论】:

请发布您的 pom.xml 文件和您的 jsp 页面 According to TLD or attribute directive in tag file, attribute items does not accept any expressions的可能重复 @AvijitBarua 完成 @user7294900 我已经尝试过了,但它不起作用 您在_menu jsp 页面中出现错误,而不是在welcomePage 中! 【参考方案1】:

在你的jsp中使用这个而不是你拥有的:

" "

不带引号

【讨论】:

以上是关于Spring boot:如何将thymeleaf转换为jsp的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Thymeleaf SpringSecurityDialect 添加到 Spring Boot

Spring boot:如何将thymeleaf转换为jsp

如何将布局方言添加到spring-boot thymeleaf自动配置文件

我如何将 angularjs 与 spring boot 和 thymeleaf 一起使用?有模板项目吗? [关闭]

如何从 Spring Boot 中找到 Thymeleaf 模板

spring boot 跳转页面和热加载的坑