springboot用controller跳转html页面

本文详细介绍了如何在SpringBoot项目中整合Thymeleaf模板引擎,包括项目结构设置、Maven依赖配置及控制器代码示例,帮助读者解决静态页面跳转问题。

本文学习来自 https://blog.youkuaiyun.com/jsu_9207/article/details/68945787


在学习SpringBoot的过程中遇到一个问题,因为SpringBoot是集成了tomcat的,所以项目是打成jar包,通过SpringMVC注解的方式去运行的,所以静态页面就放在maven工程的resources目录下的templates目录下所以怎么去跳转是个问题,现在就是解决这个问题

首先看项目结构

 pom.xml文件依赖

<!-- 1.创建一个Maven工程,选择jar类型项目2.引入SpringBootMaven依赖。 -->
    <!-- Maven parent 目的,聚合工程、继承关系 -->
    <!--Spring parent 目的: 统一整合第三方框架依赖信息 (SpringBoot 支持依赖 不需要写版本号) -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
    </parent>
    <dependencies>
        <!-- -springboot 整合Web组件 整合SpringMVC 就会把传统方式的SpringMVC依赖的jar全部给下载来 -->
        <!-- 引入spring-boot-starter-web 帮你整合好所有相关的依赖jar包 原理 maven依赖传递 -->

        <!-- 原理: spring-boot-starter-parent< 中,整合号相关 jar依赖信息 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
    </dependencies>

 controller代码,这里为了更加的清楚项目结构带上包的路径

package cn.hd.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class FTLIndexController {

    @RequestMapping("/ftlIndex")
    public String ftlIndex() {
        System.out.println("fff");
        return "user/index";
    }
}

html代码直接截图

 

访问页面

 application.properties配置文件中不需要写任何东西

如有错误欢迎评论,与君共勉

### Spring Boot 中实现页面跳转HTML 文件 在 Spring Boot 应用程序中,可以通过配置和控制器逻辑轻松实现向 HTML 页面跳转。这通常涉及到设置静态资源路径以及编写相应的控制方法。 对于简单的 HTML 文件访问,无需复杂的模板引擎即可完成操作。只需将这些静态文件放置于特定目录下,并通过 `@Controller` 或者 `@RestController` 类型的类中的方法指定返回视图名称即可[^1]。 当采用 Thymeleaf 这样的模板引擎时,则可以在 Controller 方法里直接返回字符串形式的目标页面名(不带扩展),框架会自动查找对应的 .html 文件并渲染它[^2]: ```java @Controller public class HtmlPageController { @GetMapping("/showHtml") public String showHtml(){ return "index"; // 对应的是 src/main/resources/templates/index.html } } ``` 如果希望直接映射 URL 到某个具体的 HTML 文件而不需要经过任何业务逻辑处理的话,还可以利用 `WebMvcConfigurer` 接口来自定义静态内容的位置与匹配规则。 另外,在某些情况下可能还需要考虑跨域资源共享(CORS)等问题,尤其是在前端应用部署位置不同于后端服务的情况下。此时可以借助 Spring Security 配置或者自定义过滤器等方式解决此类问题[^4]。 #### 使用默认静态资源路径 为了简化开发流程,默认情况下 Spring Boot 支持从以下几个路径加载静态资源: - `/static/` - `/public/` - `/resources/` - `/META-INF/resources/` 只要把要访问的 HTML 文件放入上述任一目录之下,就可以通过浏览器直接请求该文件地址来进行浏览了。 例如,假设有一个名为 `about.html` 的文件位于项目的 `src/main/resources/static/about.html` 路径下,那么可以直接通过 http://localhost:8080/about 来查看此页面的内容。
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值