十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本篇文章给大家分享的是有关Springboot中如何使用thymeleaf,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、网站制作、成都外贸网站建设、桑植网络推广、成都微信小程序、桑植网络营销、桑植企业策划、桑植品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供桑植建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
hello.html代码如下:
Title
Hello World!
嘿嘿嘿
控制器代码如下:
@RestController
public class TAdminController {
/**
* 服务对象
*/
@Resource
private TAdminService tAdminService;
@RequestMapping("/query")
public String query(Model model){
model.addAttribute("msg","啦啦啦");
return "hello";
}
}
访问路径之后直接就打印出来了,这与预期不符,于是我在application.yml文件中加入了如下配置
spring:
thymeleaf:
cache: false
prefix: classpath:/static/
suffix: .html
encoding: UTF-8
但是效果还是一样的,仔细检查发现是注解用错了
为什么换了controller注解就好了呢?
@RestController is a stereotype annotation that combines @ResponseBody and @Controller.
意思是:
@RestController注解相当于@ResponseBody + @Controller合在一起的作用。
1)如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。
例如:本来应该到hello.html页面的,则其显示login.
2)如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。
3)如果需要返回json或者xml或者自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解
@ResponseBody:
作用:
该注解用于将Controller方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后(如:json格式),写入到Response对象的body数据区。
使用时机:
返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用
当我们不需要讲数据封装,而是需要实现页面的跳转的时候,就将@responseBody去掉,然后最后返回跳转的页面名称就好.
修改后发现还是报404的错误
此时我们thymeleaf模板路径也设置了,后缀也设置了,为什么还是报错了呢,回到控制器发现
提示Cannot resolve MVC View 'hello' ,找不到视图hello,那么说明我们的thymeleaf配置没起到作用,回到pom文件看看发现thymeleaf依赖好像不对, 我是直接在创建项目的时候勾选了thyme leaf的,他的thymeleaf依赖如下:
去maven仓库找到Spring Boot Starter Thymeleaf依赖
org.springframework.boot
spring-boot-starter-thymeleaf
2.4.0
要用Spring Boot Starter Thymeleaf才行,那个那个单纯的thymeleaf不能用,跟mybatis与mybatis-spring整合包的区别差不多。
更换新的依赖后点击右上角的Load Maven Changes
注:这里的版本号可以不用写,Spring Boot有版本仲裁中心,以后我们导入依赖默认是不需要写版本;(没有在dependencies里面管理的依赖自然需要声明版本号)
以上就是Springboot中如何使用thymeleaf,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。