Thymeleaf模板引擎

Thymeleaf模板引擎,第1张

Thymeleaf模板引擎

文章目录
    • 前言
    • 一、基础使用
    • 二、环境配置
    • 三、整合静态资源
    • 四、访问路径支持
    • 五、读取资源文件
    • 六、内置对象
    • 七、输出对象
    • 八、页面逻辑
    • 九、数据迭代

前言

在经典的java单体项目中(前后端不分离),页面的编写往往采用JSP技术(Java Server Page),JSP的最大特点是可以在页面中编写java代码,实际上jsp经过转化生成Servlet,再编译生成*.class文件存储在WEB容器中,而对用户请求的处理正是由Servlet完成的。

使用JSP开发的主要问题是页面过于混乱,在HTML中编写JAVA代码往往只能由后台工程师完成,极大的提升了开发的难度,而页面的调试也需要先转换为Servlet再打包才能看到执行结果。SpringBoot项目默认使用内置的tomcat服务器,项目通常会被打成jar包放在jvm上直接执行(减少了部署WEB容器的环节),此时再采用JSP技术,就需要自建WEB-INF/web.xml文件,打成war包使用外部容器部署,这样的反而失去自身开发简洁的优势。


Thymeleaf是SpringBoot推荐使用的模板引擎,使用Thymeleaf可以按照HTML的方式编写代码,也同时可以实现JSP中的相关动态 *** 作,而且不会生成*.class文件。

一、基础使用

想要在项目中使用thymeleaf,首先需要导入spring-boot-starter-thymeleaf依赖包。


    org.springframework.boot
    spring-boot-starter-thymeleaf
    2.5.6

创建thymeleaf文件保存路径,使用thymeleaf语法编写的文件应该放在项目资源路径下。在src/mian下新建一个view文件夹并标记为资源根路径。

在src/mian/view下新建templates文件夹(必须叫这个名字),在templates文件夹中新建一个message子文件夹,在子文件夹内新建message_show.html页面。

编写message_show.html页面并引入thymeleaf命名空间。





    
    Thymeleaf模板引擎


    

创建MessageAction处理类,接收message并传递到message_show.html页面显示。

@Controller
@RequestMapping("/message
    @GetMapping("/page")
    public String messagePage(Model model, String message) {
        model.addAttribute("message", message);
        return "message/message_show";
    }
}

启动项目,访问:http://localhost:8080/message/page?message=hello Thymeleaf !!! 发现页面显示成功。

二、环境配置

thymeleaf允许自定义配置,配置项写在application.yml文件中,例如修改保存的文件夹和页面后缀:

server:
  port: 8080
spring:
  thymeleaf:
    prefix: classpath:/pages/
    suffix: .page

实际上thymeleaf的所有配置属性保存在ThymeleafProperties类中,通过此类可以查看具体都存在哪些内容可以配置,配置的默认值是什么。

将view目录下的templates文件夹重命名为pages,将message_show.html文件重命名为message_show.page。

启动程序,访问:http://localhost:8080/message/page?message=hello,发现程序正常。

thymeleaf的全部配置项如下:

No.属性详情1spring.thymeleaf.check-template在呈现模板之前检查模板是否存在2spring.thymeleaf.check-template-location检查模板位置是否存在3spring.thymeleaf.prefix在构建URL时预先查看名称的前缀4spring.thymeleaf.suffix构建URL时附加到查看名称的后缀5spring.thymeleaf.mode应用于模板的模板模式6spring.thymeleaf.encoding模板编码7spring.thymeleaf.cache启用模板缓存8spring.thymeleaf.template-resolver-order链中模板解析器的顺序9spring.thymeleaf.view-names可以解析的视图名称,逗号分隔10spring.thymeleaf.excluded-view-names排除的视图名称11spring.thymeleaf.enable-spring-el-compiler是否启用spring表达式编译12spring.thymeleaf.enabled是否启用thymeleaf模板13spring.thymeleaf.servlet.content-typeMIME类型 三、整合静态资源

thymeleaf使用资源根路径下的static文件夹保存资源,包括css、js、图片、字体…

在view文件夹下新建static文件夹,在static文件夹下新建css、js、images文件夹,并编写一个index.html文件。在css文件夹下新建button-classic.css文件(下载button-classic.css)。




    
    Thymeleaf静态资源
    
    



    

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5563445.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-14
下一篇2022-12-14

发表评论

登录后才能评论

评论列表(0条)

    保存