摘要:页面内容展示在之前的示例中,我们都是通过来处理请求,所以返回的内容为对象。启动程序后,访问。运行项目,输入项目地址再次查看页面显示内容,内容被替换了。默认情况下,它排第一位。
Web页面内容展示
在之前的示例中,我们都是通过@RestController来处理请求,所以返回的内容为json对象。我们现在需要实现更复杂的页面显示,就需要用到模板引擎来帮我实现了。
Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则:
/static /public /resources /META-INF/resources
例如:我们在src/main/resources/目录下创建static,并在该位置放置一个图片文件A.jpg。启动程序后,访问http://localhost:8080/A.jpg。如能显示图片,则配置成功。
模板引擎在动态HTML实现上Spring Boot依然可以完美胜任,并且提供了多种模板引擎的默认配置支持,所以在推荐的模板引擎下,我们可以很快的上手开发动态网站。
Spring Boot提供了默认配置的模板引擎主要有以下几种:
Thymeleaf FreeMarker Velocity Groovy Mustache
在这里我们发现没有我们曾经最熟悉的JSP,那是因为JSP无法实现Spring Boot的多种特性,如果非要使用JSP,也是可以通过配置进行实现的。后面我们再说。
Thymeleaf是一种简单且容易上手的模板引擎,我们现在就选择它来进行具体的介绍吧!
Thymeleaf我们根据上一篇文章新建一个项目,在选择依赖的时候需要选择Web和Thymeleaf即可。
打开pom.xml文件我们可以看到引入的依赖。
org.springframework.boot spring-boot-starter-thymeleaf org.springframework.boot spring-boot-starter-web
在Spring Boot中使用Thymeleaf,只需要引入上面的依赖,并在默认的模板路径src/main/resources/templates下编写模板文件即可完成。
下面我们来简单的写一个示例:
第一,我们先在src/main/resources/templates这个目录下面添加一个index.html的HTML文件。
测试页面 Hello World
注意:如果想要使用模板引擎的话,就需要在页面引用thymeleaf语法空间。就是xmlns:th="http://www.thymeleaf.org",thymeleaf的语法就是th:xxxx=“数据”,具体可以看官方说明文档。
第二,我们需要写controller来实现页面的跳转
@RequestMapping("/index") public String index(ModelMap map){ map.addAttribute("newWorld","WELCOME TO NEW WORLD!!!"); return "index"; }
第三,我们首先打开index.html文件查看显示的内容。
运行项目,输入项目地址再次查看页面显示内容,内容被替换了。
Thymeleaf的默认参数配置在application.yml中可以配置thymeleaf模板解析器属性
# THYMELEAF (ThymeleafAutoConfiguration) #开启模板缓存(默认值:true) spring.thymeleaf.cache=true #Check that the template exists before rendering it. spring.thymeleaf.check-template=true #检查模板位置是否正确(默认值:true) spring.thymeleaf.check-template-location=true #Content-Type的值(默认值:text/html) spring.thymeleaf.content-type=text/html #开启MVC Thymeleaf视图解析(默认值:true) spring.thymeleaf.enabled=true #模板编码 spring.thymeleaf.encoding=UTF-8 #要被排除在解析之外的视图名称列表,用逗号分隔 spring.thymeleaf.excluded-view-names= #要运用于模板之上的模板模式。另见StandardTemplate-ModeHandlers(默认值:HTML5) spring.thymeleaf.mode=HTML5 #在构建URL时添加到视图名称前的前缀(默认值:classpath:/templates/) spring.thymeleaf.prefix=classpath:/templates/ #在构建URL时添加到视图名称后的后缀(默认值:.html) spring.thymeleaf.suffix=.html #Thymeleaf模板解析器在解析器链中的顺序。默认情况下,它排第一位。顺序从1开始,只有在定义了额外的TemplateResolver Bean时才需要设置这个属性。 spring.thymeleaf.template-resolver-order= #可解析的视图名称列表,用逗号分隔 spring.thymeleaf.view-names=
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/71708.html
摘要:数据和信息是不可分离的,数据是信息的表达,信息是数据的内涵。数据本身没有意义,数据只有对实体行为产生影响时才成为信息。主要目标是为开发提供天然的模板,并且能在里面准确的显示。目前是自然更加推荐。 这是泥瓦匠的第105篇原创 文章工程: JDK 1.8 Maven 3.5.2 Spring Boot 2.1.3.RELEASE 工程名:springboot-webflux-4-thym...
摘要:现在我们就需要说一下我们以前常用的页面开发了,因为无法实现的多种特性,所以不推荐使用进行页面开发。页面开发第一,需要在中添加依赖文件。页面内容测试页面第四,正常的书写方法即可。 上个章节我们讲了web页面开发的Thymeleaf开发。现在我们就需要说一下我们以前常用的JSP页面开发了,因为JSP无法实现Spring Boot的多种特性,所以Spring Boot不推荐使用JSP进行页面...
摘要:一个简单的用户管理的已经完成,现在我们需要在页面上展示,方便用户管理。创建首页页面首页欢迎页面首页实战课程你想学点啥上班摸鱼下班充电案例上手本课程是一个系列基础教程,目标是带领读者上手实战,课程以新版本的核心概念作为主线。 一个简单的用户管理的CRUD已经完成,现在我们需要在页面上展示,方便用户管理。尽管现在已经流行前后分离开发,但是在一些小公司做的项目并不需要前端开发人员,页面也是后...
阅读 3322·2023-04-25 20:37
阅读 3108·2021-09-07 09:59
阅读 1639·2019-08-29 12:43
阅读 1159·2019-08-28 18:27
阅读 458·2019-08-26 13:50
阅读 1975·2019-08-26 10:33
阅读 3537·2019-08-23 18:39
阅读 2331·2019-08-23 18:09