分类目录

登录

统计信息

  • 日志总数:229篇
  • 评论总数:360条
  • 分类总数:3个
  • 标签总数:501个
  • 友情链接:11个
  • 网站运行:2932天

西安市公共自行车 微信小程序 入口扫描,扫我进入~

个人信息

·网名:青年白
·生日:1991年9月17日
·博客: http://www.baikeyang.com
·邮箱:baikeyang@vip.qq.com
·籍贯: 陝西省汉中市
·工作: 杭州鸿泉数字设备有限公司
·职位:Java软件开发工程师
·地址:西安市高新区丈八一路绿地SOHO
·   同盟A座606室
·时间:2015.07─至今
·工作: 西安易一电子科技有限公司
·职位:Java中级软件开发工程师
·地址:西安市高新区科技二路软件园
·   西岳阁403室
·时间:2014.05─2015.06
·工作:陕西齐力集团
·职位:初级软件开发工程师
·地址:西安市建工路19号新城科技产业园
·   华企大厦7层
·时间:2013.05─2014.04
现在位置:    首页 > 技术乱弹 > 正文
Spring Boot 之 Thymeleaf 篇
技术乱弹 暂无评论

在Spring boot中,官方默认采用的是Thymeleaf模块引擎,通过org.springframework.boot.autoconfigure.thymeleaf包对Thymeleaf进行了自动配置。

通过Thymeleaf2Configuration类对集成所需要的Bean进行自动配置,包括templateResolver、templateViewResolver 和templateEngine 的配置。

通过ThymeleafProperties来配置Thymeleaf,在application.properties中以 spring.thymeleaf开头来配置,通过查看ThymeleafProperties的主要源码,可以看出如何设置属性及默认配置:

以上关于ThymeleafProperties类的中文注释,为个人根据代码理解及其原代码英文注释而来。

在spring boot中整合Thymeleaf需要加入对Thymeleaf的依赖:

创建一个HelloController 类,通过spring mvc 返回页面,来通过Thymeleaf渲染一个页面。

直接打开html页面展现Hello World,但是启动程序后,访问http://localhost:8080/hello,则是展示Controller中host的值:http://www.baikeyang.com,做到了不破坏HTML自身内容的数据逻辑分离。

启动项目,直接访问,会有一个异常抛出:

spring.thymeleaf.mode的默认值是HTML5,其实是一个很严格的检查,对.html的内容要求很严格,比如<meta charset=”UTF-8″ />,如果少最后的标签封闭符号/,就会报错而转到错误页。也比如你在使用<br/>、<link>、<meta>这样的html标签,也会被thymeleaf认为不符合要求而抛出错误。

因为,我可以调整spring.thymeleaf.mode,改为LEGACYHTML5可以得到一个可能更友好亲切的格式要求。

需要注意的是,LEGACYHTML5需要搭配一个额外的库NekoHTML才可用。需要给项目添加NekoHTML的依赖:

最后重启项目就可以感受到不那么严格的thymeleaf了,访问正常。

 

 

本文版权归青年博客所有,转载引用请完整注明以下信息:
本文作者:BaiKeyang
本文地址:Spring Boot 之 Thymeleaf 篇 | 青年博客

发表评论

留言无头像?