springboot+thymeleaf 跳转修改默认页面路径及相关配置

一般来说springboot默认静态资源就是resources-》static目录下,但是总有各种各样的原因,所以还是直接配置

一下比较好。

一般来说被thymeleaf修饰的页面一般是thymeleaf默认在resources-》templates目录下作为前缀,表示被thymeleaf修饰的页面在这里作为根目录。(注意:不是静态资源)

但是还是希望大家能加上对应的配置,避免各种各样的尴尬。

application.yml我的配置如下:

spring:
    mvc:
          static-path-pattern: /**
    resources:
          static-locations: classpath:/static/
    thymeleaf:
          prefix: classpath:/templates/
          suffix: .html
          cache: false #关闭缓存

 

如果你的是application.properties那么对应的就是

spring.mvc.static-path-pattern=/**表示所有的访问都经过静态资源路径;

spring.resources.static-locations=classpath:/static/在这里表示配置静态资源根路径

Thymeleaf.prefix=classpath:/templates/ 在这里作为前缀,表示被thymeleaf修饰的页面在这里作为根目录。(注意:不是静态资源)

Thymeleaf.suffix=.html 在这里表示以.html作为后缀。

请根据你的需要进行配置。

 

给大家参考一下页面中导入各种各样的外部资源应该怎么操作。

我的目录结构因为是这样:

所以导入如下:

导入css:

 

导入js:

 

导入图片:

Logo

 

链接网页:

除非你把网页放到静态资源中去,不然还是要通过controller进行跳转。

  • - 个人主页
  •  

     

    有一些地方需要注意一下:

    @{}表示的是调用静态资源那一块,也就是你设置的spring.resources.static-locations=classpath:/static/这里面的内容

    不是这里面的内容是获取不到的。

     

    @{/index/img/slider/image_1.jpg}

    说明一下,@{/.....}里面的/的作用是从你设置的application.yml中

    resources:
          static-locations: classpath:/templates/ (意思是http://localhost:8080从这里开始)

    开始的,如:

     http://localhost:8080/index/img/slider/image_1.jpg(正确)

    如果不加上就是从你调用的controller层类上面那个映射开始,如

    @RequestMapping("/system")
    public class SystemController {

    ........

    }

    system开始.如:

     http://localhost:8080/system/index/img/slider/image_1.jpg(错误)

    所以根据你项目结构而加以区别。

    一般来说请你加上/

     

     

    最重要的一点,请不要页面上有th:href=”” 或者th:src=””等带有th:标签然后后面不接任何东西的代码。

    这样编辑时不会报错,但是运行之后会报错,而且看了你自己都蒙。找问题根源浪费你大量时间。错误如下:

    16:07:39.100 [http-nio-8080-exec-1] ERROR org.thymeleaf.TemplateEngine - [THYMELEAF][http-nio-8080-exec-1] Exception processing template "index/index": An error happened during template parsing (template: "class path resource [templates/index/index.html]")

    org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/index/index.html]")

     

    如果要写的话请th:href=”@{}”或者th:src=”@{}”这样写。其他还没有验证,自行体验。

    对于想要熟悉基本的thymeleaf标签的孩子们,可以来这个链接看一下,个人觉得还不错。

    https://www.cnblogs.com/hjwublog/p/5051732.html
     

    你可能感兴趣的:(springboot+thymeleaf 跳转修改默认页面路径及相关配置)