关于springboot 从controller返回到html页面

一.不用模板引擎的时候。

这里列出以下几种情况进行分析。

1. yml配置

controller

静态文件目录:

结果:

结论:此时访问的error12.html是static目录下的 。 spring配置视图为的时候 controller只需要 return “error12”;

2.yml配置

controller配置

静态文件目录: 不变

结果:

结论:此时访问的error12.html是static目录下的 。 spring配置视图为的时候 controller只需要 return “/error12”;

3.yml配置

controller:

静态资源目录:不变

结果:

结论:此时访问的error12.html是static目录下的 。 spring配置视图为的时候 controller只需要 return “/error12.html”;

springboot 默认资源根目录为static下 路径一定要写对不然出来一堆404还不知道为啥

关于静态资源的其他配置https://blog.csdn.net/yiifaa/article/details/78299052

1. “spring.mvc.static-path-pattern”
spring.mvc.static-path-pattern代表的含义是我们应该以什么样的路径来访问静态资源,换句话说,只有静态资源满足什么样的匹配条件,Spring Boot才会处理静态资源请求,以官方配置为例:

# 这表示只有静态资源的访问路径为/resources/**时,才会处理请求
spring.mvc.static-path-pattern=/resources/**,

假定采用默认的配置端口,那么只有请求地址类似于“http://localhost:8080/resources/jquery.js”时,Spring Boot才会处理此请求,处理方式是将根据模式匹配后的文件名查找本地文件,那么应该在什么地方查找本地文件呢?这就是“spring.resources.static-locations”的作用了。

2. “spring.resources.static-locations”
“spring.resources.static-locations”用于告诉Spring Boot应该在何处查找静态资源文件,这是一个列表性的配置,查找文件时会依赖于配置的先后顺序依次进行,默认的官方配置如下:

spring.resources.static-locations=classpath:/static,classpath:/public,classpath:/resources,classpath:/META-INF/resources
继续以上面的请求地址为例,“http://localhost:8080/resources/jquery.js”就会在上述的四个路径中依次查找是否存在“jquery.js”文件,如果找到了,则返回此文件, 否则返回404错误。

二.使用thymeleaf模板引擎的时候

步骤1.引入jar包 (当引入这个jar包的时候 默认的静态根目录变成了templates)

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

步骤二:application.yml只需要加(开发时禁用缓存)

spring:
?  thymeleaf:
     cache: false

步骤三:写controller

步骤四:templates下放html error12.html

结论:

附上html代码

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Spring Boot 中,可以使用 Thymeleaf 模板引擎来渲染 HTML 页面,并将其返回给控制器。如果你已经将 HTML 页面保存在数据库中,那么可以通过以下步骤来在控制器中返回页面: 1. 在控制器中注入一个用于访问数据库的服务类(如 UserService); 2. 在控制器中编写一个方法,该方法从数据库中获取保存的 HTML 页面代码,并将其存储在一个字符串变量中; 3. 使用 Thymeleaf 模板引擎的 `TemplateEngine` 类的 `process` 方法来渲染 HTML 页面,该方法需要传递一个 `Context` 对象,该对象包含要在页面中显示的数据; 4. 将渲染后的 HTML 页面代码作为字符串返回给控制器。 以下是一个示例代码: ```java @Controller public class UserController { @Autowired private UserService userService; @GetMapping("/my-page") public String showMyPage(Model model) { // 从数据库中获取保存的 HTML 页面代码 String pageHtml = userService.getPageHtml(); // 渲染 HTML 页面 Context context = new Context(); context.setVariable("pageHtml", pageHtml); String renderedHtml = templateEngine.process("my-page", context); // 返回渲染后的 HTML 页面代码 return renderedHtml; } } ``` 在上面的示例中,`my-page` 是 Thymeleaf 模板引擎中定义的 HTML 页面模板,`pageHtml` 是从数据库中获取的保存的 HTML 页面代码。在 `Context` 对象中,我们将 `pageHtml` 存储在一个 `pageHtml` 变量中,以便在 HTML 页面中使用。最后,将渲染后的 HTML 页面代码作为字符串返回给控制器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值