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 - &copy; 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>


项目主页:http://www.open-open.com/lib/view/home/1335878610296