网站首页 > java教程 正文
js中拼接html,总是感觉不够优雅,本着要优雅不要污,决定尝试js模板引擎。
JavaScript 模板引擎
JavaScript 模板引擎作为数据与界面分离工作中最重要一环,越来越受开发者关注。
常见模板引擎
为什么选择doT:
doT.js 快速,小巧且毫无依赖,源js文件只有140行。下载地址 github。
兼容性、性能对比详情见,各种JS模板引擎对比数据(高性能JavaScript模板引擎),我就不在copy过来了。
开始
1、安装
github下载doT.js,使用页面引用即可。
2、使用
这里就不写基本的使用了,直接上项目中的代码,html部分
<ul class="kucunlist" id="ulList"> <script id="j-tmpl" type="text/template"> {{ if(it.length>0){ }} {{ for (var i = 0, l = it.length; i < l; i++) {}} <li class="border-tb tbox" onclick="location.href='<%=basePath%>/query/stock/toQueryProductStock.action?piNo={{=it[i].pi_no}}'"> <div> <img src="<%=imgServerPath %>{{=it[i].pi_imgpath}}"> </div> <div class="arrow-right"> <h5 class="ellipsis-t"><i>{{=it[i].pi_no}}</i>{{=it[i].pi_name}}</h5> <p>{{=it[i].ct_name}} {{=it[i].bd_name}}</p> <p><b>价格:¥{{=it[i].pi_retailprice}}</b> | <b>库存:{{=it[i].amount}}</b></p> </div> </li> {{ } }} {{ } else { }} <li class="border-tb tbox"> <h2>未检索到数据</h2> </li> {{ } }} </script> </ul>
js部分,data为json数据。
var tmpl = document.getElementById('j-tmpl').innerHTML; document.getElementById('ulList').innerHTML=doT.template(tmpl)(data);
效果
在这个网页输入你的模板、数据可以看到执行结果。
刚开始使用无法给出更多有用的建议,凡事都是双刃剑,也许后面会有坑,但是它给我带来的更好的维护性、可读性。
140行的源码,有需求满足不了或者遇到源码无法解决的问题,可以把源码消化消化,对其进行扩展。
结语:好东西还是要勇敢尝试,已经开始在项目中使用doT,后面会有更复杂的使用环境,会持续对doT在项目中的使用、问题、解决,进行记录。
分享是一种精神,学习仍需坚持,进步仍需努力。
猜你喜欢
- 2025-01-23 Ejs模板引擎注入实现RCE(ejs loader)
- 2025-01-23 微软PowerPoint新技能:轻松制作酷炫模板/动画
- 2025-01-23 18个开源的Java CMS(开源cms排名)
- 2025-01-23 Java全栈式Web应用开发框架——LEAP的核心设计思想
- 2025-01-23 推荐一款GitHub10k+点赞Spring Boot快速开发企业级Admin管理后台
- 2025-01-23 字节面试官:“这92道 Spring Boot 面试题都答不上来?”
- 2025-01-23 聊聊我们那些年用过的表达式引擎组件
- 2025-01-23 提升效率!一款小而巧的定制化代码生成工具
- 2025-01-23 学习规则引擎——国产开源规则引擎URULE
- 2025-01-23 jinjia2:一个超级模版Python库(python jinja2模板)
你 发表评论:
欢迎- 最近发表
-
- pyinstaller打包python程序高级技巧
- 将python打包成exe的方式(python打包成exe的方法)
- Python打包:如何将 Flask 项目打包成exe程序
- py2exe实现python文件打包为.exe可执行程序(上篇)
- 如何将 Python 项目打包成 exe,另带卸载功能!
- Python打包成 exe,太大了该怎么解决?
- 可视化 Python 打包 exe,这个神器绝了!
- 案例详解pyinstaller将python程序打包为可执行文件exe
- Cocos 3.x 菜鸟一起玩:打包window程序
- 怎么把 Python + Flet 开发的程序,打包为 exe ?这个方法很简单!
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)