smarty java_Smarty for java的使用
这个项目是将php上广泛使用的smarty模板语言移植到了java平台上,不提供模板对一些特定php语法的支持,例如<?php>等
smarty4j的函数节点位于org.lilystudio.smarty4j.statement.function.*中,函数使用$开头,后接完整的函数名称,或者在smarty.properties中定义相关的函数路径声明第三方函数库。smarty4j的变量调节器节点位于org.lilystudio.smarty4j.statement.modifier.*中,与函数的名称规则一致,同样在smarty.properties中支持定义扩展包的路径。如果需要自己定义函数和变量调节器,需要分别继续org.lilystudio.smarty4j.statement中的BlockFunction、LineFunction与Modifier类,可以覆写parser方法用于生成二进制类编码,也可以覆写start,end,execute等方法直接写java代码处理函数,相关的说明可以通过导出javadoc文档来查看。
smarty4j使用asm.jar,将模板文件或者字符串编译成java类直接执行,效率比一般的模板解释的方式处理要快。通过在smarty.properties中设置模式能够选择即时更新与不进行更新验证,前者一般用于开发时,后者一般在上线后使用加快处理速度。
对于熟悉smarty语法的做过php开发程序员,在java平台下可以考虑使用smarty4j模板库,使用它可以引入一些php下的smarty资源,加快开发的速度。
调用示例
Engine engine = new Engine();//加载模板引擎
Template template = engine.getTemplate(path); //打开模板文件
Context context = new Context(); // 生成数据容器对象
//这里需要设置数据的值context.set("aaa",123);ByteArrayOutputStream out = new ByteArrayOutputStream(); //设置接收模板数据的输出流template.merge(context, out); // 处理生成结果
smarty java_Smarty for java的使用相关推荐
- 关于分布式多级缓存架构,也许你一直考虑的太简单了
这篇想聊的话题是:「分布式多级缓存架构的终章」,如何解决大流量.高并发这样的业务场景,取决于你能不能成为这个领域金字塔上层的高手? 能不能把这个问题思考清楚决定了你的成长速度. 很多人在一个行业5年. ...
- 大厂都拿捏的缓存方案,平台级分布式缓存,什么业务才合适?
所有程序猿都对那缓存并不陌生,好似那风一样的女子只为你独自而舞.只见那回眸一笑百媚生,让你甚是吝惜,惹人怜爱. 但随着项目规模不断增大变强,光是单个缓存就难以招架,优而显得力不从心. 这时伴随着多级缓 ...
- CTF Web方向考点总结
CTF Web 0X00 前言 做题已经快四个月了,接触了大大小小的题型,收藏的大师傅们的解题思路.题型总结的博客已经很多了,每次都要一个一个翻很麻烦,于是写下了这一个总结,实际上是把各大博客内容汇总 ...
- bugku Simple_SSTI_1and 2(SSTI模板注入)
1.Simple_SSTI_12.Simple_SSTI_2 输入:http://114.67.175.224:15355/?flag={%%20for%20c%20in%20[].class.bas ...
- 浅谈服务端渲染(SSR) 与使用场景
什么是SSR(服务端渲染)MUA? SSR是Server Side Render的缩写,简单来讲:服务端渲染 就是网页上面呈现的内容在服务器端就已经生成好了,当用户浏览网页时,服务器把这个在服务端生成 ...
- 攻防世界easy_web
python-flask-ssti(模版注入漏洞) SSTI(Server-Side Template Injection) 服务端模板注入,就是服务器模板中拼接了恶意用户输入导致各种漏洞.通过模板, ...
- 什么是缓存架构,什么又是后端分布式多级缓存架构,全文解析
缓存,已经是一个老生常谈的技术了,在高并发读的情况下对于读服务来说可谓是抗流量的银弹. 高并发三大利器:缓存.限流.降级. 今天我们就来谈谈缓存.对于缓存,我的理解是让数据更接近于用户,目的是让用户的 ...
- 大厂都咋用平台、分布式缓存?起码你要懂技术,高级还得懂业务
所有程序猿都对那缓存并不陌生,好似那风一样的女子只为你独自而舞.只见那回眸一笑百媚生,让你甚是吝惜,惹人怜爱. 但随着项目规模不断增大变强,光是单个缓存就难以招架,优而显得力不从心. 这时伴随着多级缓 ...
- 白头搔更短,SSTI惹人心!
前言 为什么说Java审计南在SSTI呢? 现行SSTI(Server-Side Template Injection ) 资料不少,但与Java,以著名的先知社区为例(如下图所示),关于SSTI文章 ...
最新文章
- ios证书导出不了p12文件_IOS苹果证书无法生成.P12文件解决方法
- Linux环境下获取网卡连接状态
- WinCE文件目录定制及内存调整
- 如何改变Myeclipse编辑区背景色
- Android典型界面设计(8) ——ViewPager+PagerSlidingTabStrip实现双导航
- 常见测量矩阵的MATLAB实现
- ffmpeg添加到环境变量_Windows + MSVC环境编译ffmpeg
- System Center 2012 R2 ——基础篇
- DCMTK3.5.4与3.6.0版本的区别
- 【报告分享】Facebook IQ 2020年热门话题和趋势报告.pdf(附下载链接)
- Linux下的 API Hook
- Unity Shader播放序列帧动画
- yii2 提供接口给java_Yii2 使用 RESTful 写API接口 实例
- html 拖拽图片验证,JavaScript实现拖动滑块拼图验证功能(html5、canvas)
- java中如何添加画板背景图,几何画板中如何添加背景图片
- 原生JS实现图片爆炸特效
- linux安装软件时/usr/lib/python2.7/site-packages/urlgrabber/grabber.py文件异常
- 大家注意了,猪八戒网上有个骗子
- linssh2 sftp读取远端目录,获取远端文件或者目录信息
- java 清理页面缓存数据_Web项目中,清理浏览器缓存的几种方式