下面是关于“使用Springboot打成jar包thymeleaf的问题”的完整攻略。
1. 为什么需要使用Springboot打成jar包thymeleaf的问题
当我们使用Springboot构建web项目时,我们通常会使用thymeleaf模板引擎来编写html页面。当项目开发完成后,我们需要将其部署到服务器上,使其可以在服务器上运行。这时候,如果我们将项目打成war包并部署到服务器上,相对比较麻烦。而我们可以将项目打成jar包,然后通过命令行直接运行jar包就可以启动项目。这不仅方便了部署,也能减轻服务器的负担,同时也不会浪费服务器资源。而对于使用thymeleaf模板引擎的项目,需要在项目中配置资源文件才能正确地使用thymeleaf,否则会导致模板无法正确渲染。
2. 如何使用Springboot打成jar包thymeleaf?
下面将具体介绍如何使用Springboot打成jar包thymeleaf。
2.1 在Springboot项目中添加maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
2.2 在Springboot项目中配置thymeleaf模板引擎
在application.properties中添加如下配置:
spring.thymeleaf.cache=false
spring.thymeleaf.enabled=true
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
其中,spring.thymeleaf.prefix
表示模板文件存放的路径,spring.thymeleaf.suffix
表示模板文件的后缀名,一般为.html,spring.thymeleaf.mode
表示模板渲染的模式,一般为HTML5,spring.thymeleaf.encoding
表示模板文件的编码。
2.3 通过maven打成jar包
在pom.xml中添加如下配置:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
执行mvn clean package
命令,生成jar包。
2.4 运行jar包
在终端中执行如下命令启动jar包:
java -jar <jar包路径>/xxx.jar
示例说明
例如,我们在项目中有一个index.html
文件,代码如下:
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Springboot + Thymeleaf Demo</title>
</head>
<body>
<h1 th:text="${message}"></h1>
</body>
</html>
我们可以在Controller中定义如下方法:
@GetMapping("/")
public String index(Model model) {
model.addAttribute("message", "Hello,World!");
return "index";
}
然后在终端中执行mvn clean package
命令,生成jar包。在终端中执行如下命令启动jar包:
java -jar <jar包路径>/xxx.jar
最后,在浏览器中访问http://localhost:8080
,即可看到页面上显示Hello,World!
。
又如,在项目中除了index.html
页面还有一个user.html
页面,其中需要使用Thymeleaf标签库,代码如下:
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Springboot + Thymeleaf Demo</title>
</head>
<body>
<h1 th:text="${message}"></h1>
<table border="1">
<thead>
<tr>
<th>id</th>
<th>name</th>
<th>age</th>
</tr>
</thead>
<tbody>
<tr th:each="user : ${users}">
<td th:text="${user.id}"></td>
<td th:text="${user.name}"></td>
<td th:text="${user.age}"></td>
</tr>
</tbody>
</table>
</body>
</html>
我们可以在Controller中定义如下方法:
@GetMapping("/user")
public String user(Model model) {
List<User> userList = new ArrayList<>();
userList.add(new User(1L, "张三", 20));
userList.add(new User(2L, "李四", 25));
userList.add(new User(3L, "王五", 30));
model.addAttribute("message", "User List");
model.addAttribute("users", userList);
return "user";
}
其中,User
为一个自定义的Java类,用来描述用户信息。需要在在项目中添加如下依赖:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
然后在终端中执行mvn clean package
命令,生成jar包。在终端中执行如下命令启动jar包:
java -jar <jar包路径>/xxx.jar
最后,在浏览器中访问http://localhost:8080/user
,即可看到页面显示用户列表。
以上就是使用Springboot打成jar包thymeleaf的问题的完整攻略,希望能对大家有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Springboot打成jar包thymeleaf的问题 - Python技术站