Tim*_*m H 22 java asp.net-mvc template-engine templating spring-mvc
我爱上了.NET MVC 3中的剃刀模板.对于java有什么关系吗?
我正在寻找一些我可以避免使用JSTL标签的东西,而是做这样的事情:
<c:if test=${bla}>
   <span>my html</span>
</c:if>
而是做
@if(bla)
{
  <span>my html</span>
}
我假设必须有相似之处
Gel*_*Luo 28
我想介绍我的工作:Rythm模板引擎,一个使用Razor语法的Java中的轻量级和超快速模板引擎.Rythm具有丰富的功能并支持页面布局/继承,自定义标签(在模板或java类中),在开发模式下的动态重新加载等等.该指标显示的节奏是2至3倍的速度比速度正常的页面上!
API很简单:
使用内联字符串进行渲染:
String output = Rythm.render("@args String who;hello @who!", "world");
使用模板文件渲染:
String output = Rythm.render("hello.txt", "world");
Rythm简介:http://software-lgl.blogspot.com.au/2012/03/rythm-easy-to-use-high-performance-java.html
更新20120701
最新版本引入了一个名为" 字符串插值模式 "的功能,它使您能够进行非常轻量级的字符串插值,如下所示:
String result = Rythm.render("hello @who!", "world");
GAE上有一个完整的功能演示:http://play-rythm-demo.appspot.com/
更新20130406
一个节奏小提琴网站现在在线,你可以用它来学习Rythm语法.请访问http://fiddle.rythmengine.org查看
更新20130513
com.greenlaw110.rythm为
 org.rythmengine,maven组ID已相应更改据我所知,在Java世界中没有任何外观和行为与Razor相似.
根据我的理解,Razor中的模板引擎不仅可以解析静态文本中的"占位符",例如#xxx在Velocity或${xxx}JSP中.
相反@,Razor中的符号充当切换到托管语言解析器的切换(在Razor的情况下为VB和C#),识别紧跟在@符号后面的元素的完整语法.这允许Razor识别传递给引擎的对象的名称以及诸如for循环和条件的句法结构.
这开启了托管语言的全部功能,以便用于剃刀模板,这在错误的手中可能是危险的......
世界上Java方面的大多数模板引擎都选择严格地将业务逻辑与模板问题分开,因此对模板"语言"中的循环或条件等动态特性的支持非常有限或不支持,选择声明式样式动态.
看看twirl,与框架分离的 Play 框架模板引擎。
例子:
@if(items.isEmpty) {
  <h1>Nothing to display</h1>
} else {
  <h1>@items.size items!</h1>
}
| 归档时间: | 
 | 
| 查看次数: | 11615 次 | 
| 最近记录: |