前端模板引擎template获取属性(template模板引擎怎么用)
本篇文章给大家谈谈前端模板引擎template获取属性,以及template模板引擎怎么用对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Apache Velocity 如何让VelocityEngine自动获取template文件中的变量
- 2、Thymeleaf 模板引擎的使用
- 3、什么是模板引擎(template engine)
- 4、vue-cli中的main.js中 new Vue 中的template属性什么意思
Apache Velocity 如何让VelocityEngine自动获取template文件中的变量
org.apache.velocity.app.Velocity.类是一个初始化单例的velocity实例的类。
单例模式是一种简单的设计模式,用最简单的话来说,就是让多个类共享一个实例,让他们能够访问到同样的数据。
对比发现:
Velocity类中使用init方法里是使用了RuntimeSingleton.init();
在RuntimeSingleton类中,使用到的运行实例是静态new出来的。
private static RuntimeInstance ri = new RuntimeInstance();
而在org.apache.velocity.app.VelocityEngine类中,并没有一个单例类来初始化,每次都会使用
private RuntimeInstance ri = new RuntimeInstance()
来创建一个新的运行实例,这样就使得每个velocity引擎都会拥有各自的实例,互不干扰。
从RuntimeSingleton类的注释来看:
/**
* This is the Runtime system for Velocity. It is the
* single access point for all functionality in Velocity.
* It adheres to the mediator pattern and is the only
* structure that developers need to be familiar with
* in order to get Velocity to perform.
*
* The Runtime will also cooperate with external
* systems like Turbine. Runtime properties can
* set and then the Runtime is initialized.
*
* Turbine for example knows where the templates
* are to be loaded from, and where the velocity
* log file should be placed.
*/
velocity和外部合作的项目,例如turbine,就使用的这个类来实例化velocity引擎。
Thymeleaf 模板引擎的使用
模板引擎和前端框架的区别是什么?
1.JSP、Velocity、Thymeleaf等这是模板引擎,Jquery、Vue等这是前端框架。so,它们不一样。
2.缓存模板结构,在数据层操du作完直接套用模板输出到客户端界面中,减少dom操作的异常、减少拼接html的痛苦、减少各浏览器下dom操作的延迟差异 。这是模板引擎干的事情。
3.前端框架,提升开发效率,dom加载效率等。
为何选Thymeleaf,而抛弃了别的模板引擎比如JSP
1.SpringBoot默认整合Thymeleaf,不需要任何配置直接整合成功,打jar包发布不需要做任何配置。
2.Thymeleaf相对于其他的模板引擎(如:Freemaker、velocity),有强大的工具支持。
3.相对于Jsp页面,执行效率高。
记录一个错误,是SpringBoot 和thumeleaf版本冲突的问题,这里需要把上面的切换版本配置改改
错误: An attempt was made to call the method org.thymeleaf.spring5.SpringTemplateEngine.setRenderHiddenMarkersBeforeCheckboxes(Z)V but it does not exist. Its class, org.thymeleaf.spring5.SpringTemplateEngine, is available from the following locations...
写一个小的测试,在Controller中添加一个访问,并在template目录下写个success.html
使用 ,能够访问到页面内容就证明模板引擎配置ok了。
th:id=" {}"
....
可以看到,我们可以使用th:**的方式替换原有的html属性,其余更多参考thymeleaf的官方文档,c:forEach 遍历,c:set 生命变量,c:if判断,jsp:include 片段包含.....。还有一些表达式语法的说明 ${} 获取对象的属性,调用方法。
success.html
HelloController
简单的小例子,验证配置没有问题,更强大的功能在后续的复杂案例中再继续学习。
什么是模板引擎(template engine)
Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。 Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbine web开发架构提供模板服务(template service)。Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。
你可以看看:
vue-cli中的main.js中 new Vue 中的template属性什么意思
new Vue就是index.html中id(el:'#app')div替换成/App组件渲染出来的东西,router这些都是解构赋值,就是一些选填参数
关于前端模板引擎template获取属性和template模板引擎怎么用的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。