使用Springboot打成jar包thymeleaf的问题

yizhihongxing

下面是关于“使用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技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • CSS教程:建议font-size使用em

    下面是讲解“CSS教程:建议font-size使用em”的完整攻略。 一、什么是em? em指的是相对于父元素(或祖先元素)的字体大小的单位。比如,如果父元素的字体大小是16px,那么1em就是16px。如果它的父元素字体大小改变为20px,那么1em就是20px。 二、为什么建议使用em作为font-size的单位: 1.相对于px,em可以自适应页面大小…

    css 2023年6月9日
    00
  • CSS link与@import的区别和用法解析

    CSS link和@import都是连接外部CSS文件的方式,但它们有不同的区别和用法。 CSS link 用法 通过在HTML文件中使用<link>标签来引入外部CSS文件,其中rel属性必须设置为stylesheet,href属性为外部CSS文件的路径。 <head> <link rel="stylesheet&q…

    css 2023年6月10日
    00
  • 给div加滚动条 div显示滚动条设置代码

    给div元素添加滚动条可以通过CSS的overflow属性来实现,overflow的值可以设置为auto、scroll或hidden,分别表示自动显示滚动条、强制显示滚动条、隐藏滚动条。 具体实现步骤如下: 1.创建div标签(例如id为mydiv的div元素) <div id="mydiv" style="width:2…

    css 2023年6月10日
    00
  • 原生js实现自定义滚动条组件

    下面我来详细讲解如何原生js实现自定义滚动条组件。 1. 确定组件需求 在实现自定义滚动条组件前,我们需要先确定组件的需求。一般来说,自定义滚动条组件需要具备以下功能: 拖动滑块来实现滚动; 点击轨道实现精准跳转; 自适应内容高度,并根据显示内容的变化而动态更新滚动条长度; 能够跨浏览器平台使用。 2. 组件结构设计 组件的结构设计需要包含以下元素: 一条轨…

    css 2023年6月10日
    00
  • CSS3 Media Queries(响应式布局可以让你定制不同的分辨率和设备)

    CSS3 Media Queries是CSS3的一个重要特性,它允许我们根据设备不同的宽度、高度或分辨率等特征,对不同的设备使用不同的样式。这样,我们就可以通过响应式布局来实现适配不同屏幕大小的需求。下面是CSS3 Media Queries的完整攻略。 什么是CSS3 Media Queries? CSS3 Media Queries是CSS3的一个模块,…

    css 2023年6月9日
    00
  • CSS调整元素大小

    CSS调整元素大小是Web开发中的重要主题之一,因为它可以帮助您更好地控制如何展示和布局您的页面。在本攻略中,我们将为您提供一些有用的技巧和示例,以帮助您更好地掌握CSS调整元素大小。 1. 使用width和height属性 要调整元素的大小,最基本的方法是使用width和height属性。这些属性可以用来指定元素的宽度和高度,以像素、百分比或其他单位为单位…

    Web开发基础 2023年3月30日
    00
  • IE6中DIV使用了relative不定义宽度导致right定位误差

    下面我将详细讲解“IE6中DIV使用了relative不定义宽度导致right定位误差”的攻略,包含以下几个方面的内容: 问题背景 原因解释 解决方法 1. 问题背景 在IE6中,如果使用相对定位(relative)不定义宽度的方式来布局,通常会出现right定位误差的问题,即right值无论设置为多少,元素都会向左偏移一定的距离。这会对页面布局造成很大的影…

    css 2023年6月9日
    00
  • CSS解决浏览器的等宽空格问题

    CSS解决浏览器的等宽空格问题主要是为了解决单词间距不统一的问题,因为不同的字母和符号所占的宽度不同,在有些情况下,使用空格或者tab都无法让文字之间的距离完全一致。这里提供一些解决方案。 方案一:使用CSS属性 word-spacing CSS属性word-spacing可以控制文字之间的间隔。我们可以将值设为-1px,这样文字之间的间距就会缩小一个像素,…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部