文档章节

JFinal整合HTTL模板引擎

玛雅牛
 玛雅牛
发布于 2013/06/08 14:37
字数 442
阅读 2273
收藏 14

偶然机会看到了Httl模板引擎。HTTL是一个高性能的开源JAVA模板引擎, 适用于动态HTML页面输出, 可替代JSP页面, 指令和Velocity相似。

HTTL的优点如下:

1)速度快,速度接近Java硬编码输出
2)指令简单,HTTL只有 #set, #if, #else, #for, #break, #macro 六个指令,以及输出占位和注释转义,保持最小指令集。
3)可扩展性很强,自定义宏,使用java实现部分方法。
4)默认使用HTML注释语法,避免干扰原生HTML页面,方便美工和程序开发者分工。
5)HTTL采用微核+插件体系,所有环节均可扩展或替换,方便集成和二次开发。

HTTL的主要开发者梁飞也是阿里巴巴的dubbo的主要设计者,HTTL代码质量很高。

HTTL与JFinal的整合代码已经提交给梁飞,梁飞已整合进HTTL中。需要集成的

请移步 http://httl.github.io/zh/ 下载最新的1.10版本。


说说使用吧。

配置web.xml

<listener>
    <listener-class>httl.spi.loaders.ServletLoader</listener-class>
  </listener>
  <context-param>
    <param-name>httl.properties</param-name>
    <param-value>/WEB-INF/httl.properties</param-value>
  </context-param>

修改JFinal控制文件。

@Override
	public void configConstant(Constants me) {
		//加载数据库配置文件
		loadPropertyFile("database.properties");
		//设定采用httl模板引擎
		me.setMainRenderFactory(new HttlRenderFactory());
		me.setFlashManager(new EhCacheFlashManager("flashCache"));
		//设定为开发者模式
		me.setDevMode(false);

	}
将httl.properties放在WEB-INF目录下。

配置如下:

import.packages+=com.lh.openapi.manager.model
template.directory=/WEB-INF/templates
template.suffix=.html
input.encoding=UTF-8
output.encoding=UTF-8
reloadable=true
precompiled=true
value.filter=null
localized=false
主要要导入一些包,还有就是模板的目录。

在Controller中的使用:

/**
	 * 显示所有列表
	 */
	public void index(){
		setAttr("schools", School.dao.getAllSchools());
		render("index.html");
	}

其他HTTL使用参见:http://httl.github.io/

打包好的插件JFinalHttlRender-1.0.jar下载地址:

http://git.oschina.net/myaniu/jfinalhttlrender/blob/master/dist/JFinalHttlRender-1.0.jar?raw_enc=us-ascii


© 著作权归作者所有

共有 人打赏支持
玛雅牛

玛雅牛

粉丝 486
博文 113
码字总数 27360
作品 4
高级程序员
私信 提问
加载中

评论(5)

玛雅牛
玛雅牛
HTTL与JFinal的整合代码已经提交给梁飞,梁飞已整合进HTTL中。需要集成的

请移步 http://httl.github.io/zh/ 下载最新的1.10版本。​
玛雅牛
玛雅牛

引用来自“梁飞”的评论

HTTL已经发布1.0.10,加上了楼主发的集成包,感谢楼主的集成。
http://httl.github.io/download.html

看到了。多谢梁飞啊。以后我自己用也方便了。便人便己。呵呵。
梁飞
梁飞
HTTL已经发布1.0.10,加上了楼主发的集成包,感谢楼主的集成。
http://httl.github.io/download.html
玛雅牛
玛雅牛

引用来自“刘石法”的评论

httl 是你写的?

不是,我仅仅是在JFinal中集成了Httl,Jfinal的集成代码已经提交给httl作者了。估计下一版本httl 中会有jfinal的集成代码。
小石头哥
小石头哥
httl 是你写的?
给JFinal添加Shiro插件功能,支持Shiro所有注解-HTTL篇

由于使用HTTL模板引擎,所以也想将Shiro和HTTL集成起来。 具体实现如下,此嗲吗和给JFinal添加Shiro插件功能,支持Shiro所有注解-实现篇中的一样。 在httl.properties中添加一行代码。 集成完...

玛雅牛
2013/06/12
0
9
JFinal-Beetl-Shiro(JdbcRealm)-例子

JFinal-Shiro-JDBC-Demo http://git.oschina.net/yinjun622/JFinal-Shiro-JDBC-Demo 简单实现@JFinal与Shiro整合例子 1、工程通过Eclipse直接导入,部署到tomcat中; 2、新建jfinalshiro数据......

leon_rock
2014/02/27
0
12
JFinal 3.4 发布,将极速贯彻到 UI 层

jfinal 的终极目标是全面实现软件开发整个过程的极速开发,极大提升开发效率,极大降低学习成本,极大提升开发体验 jfinal 诞生头五年,已实现 WEB + ORM + AOP 层面的极速开发,赢得了大量开...

JFinal
04/28
0
129
jfinal cms v4.7.1 发布,升级 jfinal 到 最新 3.4 版本

经历了互联网研发人员加班模式,最近动静比较小(也可能是质量比较好了~!~); 该版本bug修复: jfinal 改为最新3.4版本 修复启动缓存设置不生效bug 其他细节修改 上一版本更新说明: 组织机...

Fly的狐狸
09/04
0
0
jfinal-admin 3.3 发布,Bug 修复更新

jfinal-admin 3.3 版本正式发布啦。该版本主要进行了一些 Bug 修复,主要更新内容如下: 1、登录加密算法更新,修复DES秘钥初始化的bug; 2、任务管理模块更新,修复任务调度配置时执行类参数...

IT小香猪
07/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

自定义Maven插件功能

自定义maven插件 创建一个maven 项目 通过上述方式创建,会自动引入maven-plugin-api 依赖和打包方式;如下 <packaging>maven-plugin</packaging><dependency> <groupId>org.apache.mave......

春哥大魔王的博客
30分钟前
2
0
和平之翼代码生成器SMEU版5.0-7.0项目代号初稿兼征求意见

现在,和平之翼代码生成器SMEU 4.0 宝船 Treasure Ship已经开始研发。是规划下一代代码生成器项目代号和功能清单的时候了。 宝船: 这是我初步的计划,欢迎您的意见: 和平之翼SMEU 5.0 福船...

火箭船
41分钟前
1
0
0016-Avro序列化&反序列化和Spark读取Avro数据

1.简介 本篇文章主要讲如何使用java生成Avro格式数据以及如何通过spark将Avro数据文件转换成DataSet和DataFrame进行操作。 1.1Apache Arvo是什么? Apache Avro 是一个数据序列化系统,Avro提...

Hadoop实操
53分钟前
1
0
访问日志不记录静态文件、切割和静态元素过期时间

11月16日任务 11.22 访问日志不记录静态文件 11.23 访问日志切割 11.24 静态元素过期时间 1. 访问日志不记录静态文件 示例一: 网站大多元素为静态文件,如图片、css、js等,这些元素可以不用...

hhpuppy
59分钟前
2
0
day151-2018-11-18-英语流利阅读-待学习

后双十一时代阿里将何去何从? Daniel 2018-11-18 1.今日导读 “这么便宜,我要买下来,统统都要买下来!” 这个双十一,你剁手了吗?据说阿里巴巴天猫在刚过去的双十一里单日销售额再创新高...

飞鱼说编程
今天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部