Java模板引擎 Rythm
fmms
13年前
Rythm(睿)是一个Java模板引擎,任何使用Velocity、FreeMarker的地方都可以使用Rythm。
Rythm的特性:
- 生成Java源代码并编译执行,因此速度非常快
- 生成源码和编译过程对用户是透明的
- 使用类似.Net MVC Razor模板引擎的语法,Java用户几乎不需要学习即可使用
- 模板继承特性方便布局管理
- 当模板文件后缀为.html的时候自动做html转义,杜绝安全隐患
- 强大的Tag功能,方便模板重用
- Tag结果再处理:缓存,转义和赋值操作,并且可以串联使用
- 还有更多特性,详情参见官网文档
Rythm模板文件示例:
1. main.html (布局模板)
<html>
<head>
...
</head>
<body>
@// render sidebar
@render("sidebar")
@// render main content
@render()
@// render footer
@render("footer") {
@// default footer supplied in case sub template doesn't provide footer section
<p>Site footer - © Rythm Template Engine</p>
}
</body>
</html>
2. index.html (主模板)
@extends(main)
@import models.*
@args List<User> users
@section("sidebar") {
@// sidebar section content goes here
}
<ul>
@for(User u: users) {
<li class="@u_parity">
<div><span>name</span>: @u.getName()
<div><span>score</span>: @u.getScore()
</li>
}
</ul>