解决SpringBoot项目集成thymeleaf,不能成功跳转页面。(亲测可用~)

项目场景:

Spring Boot项目 集成 thymeleaf 进行简单的页面跳转


问题描述:

在进行页面跳转时提示下面的错误信息,找不到对应的页面:

2021-08-18 14:21:37.021 ERROR 36948 --- [nio-8082-exec-3] org.thymeleaf.TemplateEngine             :
 [THYMELEAF][http-nio-8082-exec-3] Exception processing template "loginPage": 
Error resolving template [loginPage], template might not exist
 or might not be accessible by any of the configured Template Resolvers

org.thymeleaf.exceptions.TemplateInputException: Error resolving template [loginPage], 
template might not exist or might not be accessible by any of the configured Template Resolvers


原因分析:

  1. 查看controller的代码是否有问题:
@Controller
public class ViewController {

    @GetMapping("/loginPage")
    public String loginPage() {
        return "loginPage";
    }
}
  1. 查看页面位置是否正确
    在这里插入图片描述
    页面放在了templates下,没有问题。
  2. 查看编译后的class文件夹是否将templates文件夹编译:
    在这里插入图片描述
    查看target目录,果然未将templates打包进target文件夹

解决方案:

  1. 修改pom文件,在build标签内添加如下节点:
        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>
  1. 删除target文件夹,重新启动项目进行编译:
    在这里插入图片描述
    发现template文件夹已经成功打包进来。
Spring Boot是一个开源的Java开发框架,用于快速构建基于Spring的应用程序。Thymeleaf是一个Java的服务器端模板引擎,可以与Spring Boot框架很好地集成。 要实现HTML页面之间的跳转,可以使用Thymeleaf的语法结合Spring Boot的控制器来完成。 首先,需要在pom.xml文件中添加Thymeleaf的依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> ``` 接下来,在Spring Boot的控制器中添加一个处理请求的方法,该方法返回要跳转的HTML页面的名称: ```java @Controller public class MyController { @RequestMapping("/hello") public String hello() { return "hello"; // 这里返回的是要跳转的HTML页面的名称,不需要后缀名 } } ``` 然后,在resources/templates目录下创建名为hello.html的HTML页面,用于展示hello页面的内容: ```html <!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Hello</title> </head> <body> <h1>Hello, Thymeleaf!</h1> </body> </html> ``` 最后,启动Spring Boot应用程序,在浏览器中访问http://localhost:8080/hello,即可看到跳转到hello.html页面,并显示"Hello, Thymeleaf!"的信息。 以上就是使用Spring BootThymeleaf实现HTML页面跳转的简单示例。通过Thymeleaf的语法和Spring Boot的控制器,我们可以方便地实现页面之间的跳转和数据的渲染。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值