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> |
<a href="/userInfo">User Info </a> |
<a href="/admin">Admin</a> |
<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 一起使用?有模板项目吗? [关闭]