使用Springboot打成jar包thymeleaf的问题

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

相关文章

  • webpack5的loader配置小白学习篇

    一、什么是Webpack Loader Webpack是一个模块打包工具,可以将各种资源文件(JS、CSS、图片等)打包成网页中的静态资源。但是Webpack只认识JS文件,如果我们直接把CSS文件或图片文件引入到JS文件中,Webpack就会报错。这时就需要使用Webpack Loader,将Webpack不认识的文件转化成Webpack能够识别的模块。 …

    css 2023年6月9日
    00
  • JS兼容所有浏览器的DOMContentLoaded事件

    要兼容所有浏览器的DOMContentLoaded事件,我们需要做如下工作: 1. 检查document.readyState 在DOMContentLoaded事件执行之前,先判断document.readyState是否为complete,如果是,则直接执行回调函数。如果不是,我们绑定一个DOMContentLoaded事件,等到它触发时再执行回调函数。…

    css 2023年6月9日
    00
  • javascript实现显示和隐藏div方法汇总

    JavaScript 实现显示和隐藏 div 方法有多种方式,这里我为大家总结了一些常见的实现方式。 方式一:使用display属性来控制div的显示和隐藏 可以通过设置div的style.display属性来显示或隐藏这个div元素。下面是示例代码: <!DOCTYPE html> <html> <head> <t…

    css 2023年6月10日
    00
  • js+css实现三级导航菜单

    以下是详细的js+css实现三级导航菜单的攻略: 1. 先决条件 在开始之前,你需要具备以下技能: HTML 基础 CSS 基础 JavaScript 基础 2. HTML 结构 我们首先需要在 HTML 中构建出三级导航菜单的基本结构。结构如下: <nav> <ul> <li><a href="#&quo…

    css 2023年6月10日
    00
  • Jquery实现侧边栏跟随滚动条固定(兼容IE6)

    Jquery实现侧边栏跟随滚动条固定(兼容IE6) 一、问题背景 我们经常看到一些网站的侧边栏会在页面滚动时,保持位置不变,一直显示在页面的某个位置上。这种效果可以增加页面的交互性和用户体验。但是,由于不同浏览器对CSS属性的支持不同,因此此效果兼容性并不好。为了解决这个问题,我们可以使用Jquery实现侧边栏跟随滚动条固定的效果,并兼容IE6。 二、实现过…

    css 2023年6月10日
    00
  • 用CSS遮罩实现过渡效果的示例代码

    下面是“用CSS遮罩实现过渡效果的示例代码”的完整攻略: 一、什么是CSS遮罩? CSS遮罩是一种技术,可以将遮罩层放在页面元素上,以此来实现一些特殊的效果,比如磨砂玻璃效果、蒙版遮罩等。在CSS3中,我们可以使用“mask-image” property来设置遮罩,其支持一些图像和线性渐变的设置。 二、如何使用CSS遮罩实现过渡效果? 使用CSS遮罩实现过…

    css 2023年6月9日
    00
  • js html5 css俄罗斯方块游戏再现

    以下是详细的js html5 css俄罗斯方块游戏再现攻略: 1.前置知识准备 在开始实现俄罗斯方块游戏前,需要掌握HTML5、CSS、JavaScript等前端技术。特别是JavaScript中的面向对象编程、事件响应等知识。同时,也需要掌握Canvas绘图技术。 2.实现思路 俄罗斯方块游戏的基本思路是:方块下落、方块移动、方块旋转、方块消除等操作。因此…

    css 2023年6月9日
    00
  • 详解CSS 去掉inline-block元素间隙的几种方法

    首先讲解 CSS 去掉 inline-block 元素间隙的原因。当我们使用 inline-block 将多个元素排列时,如果 HTML 代码中不加入换行回车或者空格字符,它们之间就会出现一些间距,而这些间距的产生是由于 inline-block 元素默认按照字符间距排列的。 那么接下来,我将以以下两种方法为例,详细讲解如何去掉 inline-block 元…

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