springboot中使⽤thymeleaf模板访问html等静态页⾯,并利⽤ModelA。。。
引⾔
在传统的web开发中通常使⽤jsp页⾯,⾸先需要在pom⽂件中引⼊springmvc相关的包,然后写springmvc的配置⽂件(包括访问资源的路径解析),之后还需再l中配置访问路由。这⽆疑太⿇烦了,每次开发前都需要编写⼤量的配置⽂件。
springboot为此提供了⾼效便捷的解决⽅案,只需再l中添加web开发的依赖,便可进⾏web开发,省去了繁琐的配置步骤。
下⾯为web开发引⼊的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
正⽂
那么在springboot中如果需要使⽤页⾯该怎么做呢?springboot不推荐使⽤jsp,因为jsp在springboot中有诸多限制,具体限制这⾥就不展开说了,⼤家感兴趣可以去⽹上查阅。springboot中推荐使⽤thymeleaf模板,使⽤html作为页⾯展⽰。那么如何通过Controller来访问来访问html页⾯呢?
1.在l⽂件中添加thymeleaf依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
</dependencies>
2.在l中添加访问请求配置
##thymeleaf页⾯模板配置
thymeleaf用法spring:
mvc:
view:
prefix:/
suffix:.html
springboot中默认resources中static⽂件夹存放静态资源,如js⽂件、css⽂件、图⽚等等。templates⽂件夹中存放html页⾯。
如果⼀开始创建项⽬的时候没有导⼊依赖,那么这个templates⽂件夹可能就没有⾃动创建,这个时候我们⼿动创建就⾏了,⼀样滴
3.在templates⽂件夹中创建hello.html
注意:不要使⽤@RestController注解,@RestController注解是@ResponseBody和@Controller的集合体,使⽤@RestController注解会默认返回数据,⽽不会请求到页⾯。
访问对应的url就可以通过ModelView访问到对应的⽂件了
静态页⾯的return默认是跳转到/static/⽬录下,当在l中引⼊了thymeleaf组件,动态跳转会覆盖默认的静态跳转,默认就会跳转到/templates/下,注意看两者return代码也有区别,动态没有html后缀。
⼀开始hello1.html直接在static下⾯,hello2.html在templates⽂件夹下⾯
静态跳转
在引⽤了spring-boot-starter-thymeleaf之后就是动态跳转了,返回的后缀没有.html
其实就是⽤了spring-boot-starter-thymeleaf之后跳转到页⾯的路径变了,变成了templates⽂件夹下⾯了.当前也可以⽤ModelAndView 返回.⽐如
在使⽤动态跳转之后,利⽤ModelAndView传递参数过去
省略点字数,如图所⽰
当然可以传递对象了,不然有啥⽤(⼿动滑稽)
假如需要显⽰⼀个list的数据
有时候要搭建⼀个菜单页,那么左边有边栏右边是主体,2者分布在不同的ftl⽂件中,我们可以include引⼊
这个引⼊挺⽅便的,只要胆⼦⼤,html中的head我也要引⼀下,当然是有多个页⾯使⽤了⼀样的heade才引⽤的
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论