手机版

百里香树叶模板

时间:2021-08-29 来源:互联网 编辑:宝哥软件园 浏览:

一、前言

百里香似乎取代了JSP。虽然JSP已经存在了很长时间,并且在Java Web开发中无处不在,但是它也有一些缺陷:

1.JSP最明显的问题是,它看起来像HTML或XML,但事实并非如此。大部分JSP模板都是HTML的形式,但是却混有各种JSP标签库的标签,让人摸不着头脑。

2.JSP规范与Servlet规范紧密耦合。这意味着它只能在基于Servlet的Web应用程序中使用。JSP模板不能用作通用模板(例如格式化的Email),也不能用于非Servlet Web应用程序。

与JSP相比,百里香很好地解决了这些缺点:

1.百里香叶模板是本地的,不依赖于标签库。它可以在接收到原始HTML的地方进行编辑和呈现。

2.因为没有耦合Servlet规范,所以百里香叶模板可以进入JSP无法进入的字段。这意味着百里香叶模板不同于JSP,因为它可以在没有任何处理器的情况下以原始方式进行编辑甚至渲染。当然,我们需要百里香叶来处理模板并渲染它,以获得最终所需的输出。即便如此,在没有任何特殊处理的情况下,home.html可以加载到网络浏览器中,它看起来与完全渲染的效果非常相似。

Spring boot不建议使用JSP开发web。

二、集成 Thymeleaf 模板引擎

springoot对百里香叶模板引擎的支持也很简单:

1、pom.xml

依赖groupIdorg.springframework.boot/groupId神器Spring-boot-starter-百里香叶/神器ID/Dependency这时,SpringBoot对百里香叶模板的支持完成了,我们可以在Web开发中使用百里香叶模板,简单吗?

之前的文章提到,SpringBoot的关键是“常规”。既然选择了这么简单的配置,那么在开发中就必须遵守百里香的SpringBoot常规方案。最重要的一点是模板文件放在templates目录中,即模板解析器的前缀是/templates/后缀是html

2、应用程序. yml

如果不想要所谓的常规方案,要不要做一些自定义配置?看看下面:

spring:百里香叶: prefix : class path :/templates/suffix :html servlet:内容类型:文本/html使能:真编码: UTF-8模式: HTML5缓存:假3、WebConfig.java

如果以上配置不能满足你的需求,你想细化百里叶的控制,包括配置视图解析器、模板解析器、模板引擎,请看下面的方案!

/** * 1、百里叶视图解析器接收逻辑视图名称将它解析为视图* 2、弹簧模板引擎会在春天中启用百里香叶引擎,用来解析模板,并基于这些模板渲染结果* 3、模板解析器会最终定位和查找模板*/@配置公共类WebConfig { /** *配置百里香叶视图解析器—— 将逻辑视图名称解析为百里香叶模板视图* * @ param springTemplateEngine模板引擎* @返回*/@Bean公共视图解析器视图解析器(springtapengine springtapengine){ 0百里香叶视图解析器=新百里香叶视图解析器();解析器。settemplate引擎(springtemplate引擎);返回解析器;} /** * 模板引擎—— 处理模板并渲染结果* * @param templateResolver模板解析器* @ return */@ Bean公共spring模板引擎spring模板引擎(itempateresolver模板resolver){ spring模板引擎spring模板引擎=new spring模板引擎();springtemplateengine。settemplateresolver(TemplateResolver);返回springTemplateEngine} /** *模板解析器—— 加载百里香叶模板* * @ return */@ Bean public ItemPlateResolver TemplateResolver(){ SpringSourceteTemplateResolver=new SpringSourceteTemplateResolver();模板解析器。setprefix('类路径:/templates/');templateResolver.setSuffix(' .html ');模板解析器。settemplate模式(模板模式. HTML);模板解析器。setcacheable(false);模板解析器。settemplate模式(' html 5 ');返回templateResolver}}

三、使用 Thymeleaf 模板

做好了上面的配置后,让我们来看看如何在回弹中使用百里香叶模板吧:

1、模板文件—/模板/用户/列表。超文本标记语言

!DOCTYPE html html xmlns : th=' http://www .百里香叶。org ' head meta charset=' UTF-8 '/title在此插入标题/标题/标题dyh 2用户列表/H2区ul Li th :每个=' user : $ { users } ' span th : text=' $ { user。uuid } '/span-span th : text=' $ { user。name } '/span-span th : text=' $ { user。age } '/span-span th : text=' $ { user。address } '/span/Li/ul/div/body/html 2,控制层—模型和视图

这里模型指的是:控制层处理完请求,返回需要渲染的结果;视图指的是:模板的逻辑视图名(前后端分离)。

@ Controller @请求映射("/user ")公共类用户控制器{ @请求映射("/list ")公共字符串列表用户(模型模型){ listsuserdo用户列表=new ArrayList();for(int I=0;i 10I){ userrist。添加新用户。randomuuid().toString().替换('-',''),'张三'我,1 '中国北京'));} model.addAttribute('users ',UserList);返回"用户/列表";}} 3、效果

演示源代码:https://github。com/JMCuixy/百里香叶

总结

以上所述是小编给大家介绍的回弹中的百里香叶模板,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

版权声明:百里香树叶模板是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。