SpringBoot---静态页⾯加载
Thymeleaf模板配置:
maven添加⽀持如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
application.properties添加如下配置:
# 定位模板的⽬录
spring.mvc.view.prefix=classpath:/templates/
# 给返回的页⾯添加后缀名
spring.mvc.view.suffix=.html
controller返回页⾯:
@GetMapping("/index")
public String index(){
return "home"; //当浏览器输⼊/index时,会返回 /templates/home.html页⾯
}
注意:
spring boot默认开启了静态⽂件的配置,任何放在static⽂件夹下的资源都是静态⽂件。引⽤静态⽂件时以/或者前缀不加任何定位符,都会去static⽂件夹下查。
Thymeleaf模版默认会使⽤templatess作为视图⽂件下
返回纯静态html,时下,⽐较流⾏的是前后端分离,前端做路由,前端的开发不使⽤模板。在这种情况下,使⽤模板就显得有些臃肿了。
spring boot返回静态页⾯的⽅式⾮常⽅便,⾸先需要移除maven的thymeleaf依赖。
⾮controller模式
这种模式不使⽤controller,将html和css,js同等对待。这种模式下,html中的如果不加/,则会定位到当前页⾯。
要看到返回静态页⾯,只需要将之前的home.html移到static⽂件夹下。并删除controller和注释掉application.properties中的配置即可。直接在浏览器中输⼊:localhost:8080/index.html。
controller模式
习惯上,我们还是多使⽤/index⽅式,⽽不是index.html⽅式。
为此还是需要controller。
# 定位页⾯的⽬录到static/下
spring.mvc.view.prefix=/
spring.mvc.view.suffix=.html
springboot架构图controller当然也是需要的,和之前⼀样:
@GetMapping("/index")
public String index(){
return "home"; //当浏览器输⼊/index时,会返回 /static/home.html的页⾯
}
到这⾥就可以了。不在需要额外配置。在浏览器中输⼊:localhost:8080/index就可以定位到static下的index.html页⾯了。
注意点:
⼀般如果只把框架做为url路由,最好的做法是在静态资源和视图View建⽴相同的⽂件,视图在通过框架在相应的⽬录查,静态资源则路由到static⽬录下去查。
看如下项⽬结构:
更改静态资源默认的访问路径
上⾯说到/resources/static静态资源的默认请求路径为/ 。假如我的静态资源位于/resources/static/dist⽬录下,但是我不想将请求改
为/dist(这⾥要注意⼀下html中引⽤其它资源的相对路径如果是./xxx 在本地更改真个⽂件加的路径引⽤的资源⽂件是能够正常定位,但是在web容器中./xxx需改为/dist/xxx ,这⾥涉及到web根路径和本地⽂件路径的问题)可以在application.properties加如下配置:
这样当我们访问/ 时实际定位的资源⽂件位置是/resources/static/dist 这样就避免了当更改资源⽂件的位置时需要更改html中的全部引⽤。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。