• 作者:老汪软件技巧
  • 发表时间:2024-09-10 17:00
  • 浏览量:

这个过滤器需要在 web.xml 中配置

Spring Boot 开启视图解析器的 yaml 语法

spring:
  mvc:
    hiddenmethod:
      filter:
        enabled: true # 开启页面表单的rest功能,启用了HiddenHttpMethodFilter,支持rest
    view: # 配置视图解析器
      prefix: /rainbowsea/** # 这里是需要注意,如果你配置了 static-path-pattern: /rainbowsea/** 需要保持一致
#      prefix: /rainbowsea/ 都行 # 这里是需要注意,如果你配置了 static-path-pattern: /rainbowsea/** 需要保持一致
      suffix: .html
    static-path-pattern: /rainbowsea/**

我们这里思考一个问题:为什么这里return "hello",返回的是不是字符串,而是转发到对应的资源文件。

package com.rainbowsea.springboot.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HiController {
    @RequestMapping("/hello")
    public String hi(){
        return "hi:):)";
    }
    @RequestMapping("/go")
    public String go(){
        return "hello";
        /*
        return 是先看视图解析器当中是否有 hello.html 页面,没有就在找 controller 控制
是否有处理该请求的,如果两者都没有则报 404错误
         */
    }
}

注意:我是配置了视图解析器的。

启动 Spring Boot ,打开浏览器输入::8080/go

当 hello.html 静态资源存在时,并没有走 controller

我们将静态文件资源 hello.html 移除,再次访问::8080/go

问题:

我们将静态文件资源 hello.html 移除,再次访问::8080/go

最后:

“在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。感谢你们,我们总会在某个时刻再次相遇。”