我正在尋找像Django模板或Twig(PHP)中的語法的Java模板引擎。它存在嗎?用於Java的類似Django的模板系統?
更新: 目標是爲不同的語言使用相同的模板文件。
<html>
{{head}}
{{ var|escape }}
{{body}}
</html>
可以使用Twig從python(Django)代碼以及PHP中呈現。我正在尋找Java解決方案。
適用於Java,PHP和Python的任何其他模板系統。
我正在尋找像Django模板或Twig(PHP)中的語法的Java模板引擎。它存在嗎?用於Java的類似Django的模板系統?
更新: 目標是爲不同的語言使用相同的模板文件。
<html>
{{head}}
{{ var|escape }}
{{body}}
</html>
可以使用Twig從python(Django)代碼以及PHP中呈現。我正在尋找Java解決方案。
適用於Java,PHP和Python的任何其他模板系統。
當然,Java有各種各樣的模板引擎。我用過FreeMarker,Velocity和StringTemplate。我不確定Django類語法是什麼意思;每個引擎在模板化方法上都有自己的變體。
對於一些不同的引擎檢查出here。
如果你想爲不同的語言相同的模板,你可以看看Clearsilver。
Clearsilver是一種語言無關的模板引擎,它通過在代碼和模板之間插入語言無關的層次數據格式(HDF),幫助將代碼呈現與代碼分開。想象HDF就像XML一樣,但要簡單得多。
它被用於許多高流量的網站,包括雅虎!組,Gmail靜態HTML,orkut.com,wunderground.com等。與它一起使用的實現語言包括C/C++,Python,Java,Ruby,PHP,C#和其他。 Python框架還包含一個Page-Class調度程序和簡單的ORM,它有點像Ruby-On-Rails,因爲它使數據庫表,HDF和模板之間的映射只需很少的代碼。
Clearsilver的主要實現是C語言特定的包裝。還有一個由Google和開源的JSilver完成的100%Java實現。
我已經開發Jtwig。你可以試試看。它在一些成功的項目中被使用。使用Spring webmvc進行很好的集成很容易。
只需使用maven或類似系統包含依賴關係。
<dependency>
<groupId>com.lyncode</groupId>
<artifactId>jtwig-spring</artifactId>
<version>2.0.3</version>
</dependency>
並配置視圖解析器bean以返回Jtwig之一。
@Bean
public ViewResolver viewResolver() {
JtwigViewResolver viewResolver = new JtwigViewResolver();
viewResolver.setPrefix("/WEB-INF/views/");
viewResolver.setSuffix(".twig");
return viewResolver;
}
或者,如果您使用XML基本配置:
<bean id="viewResolver" class="com.lyncode.jtwig.mvc.JtwigViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".twig"/>
</bean>
您可以使用Mustache.java和Handlebars.java。小鬍子很簡約。把手與小鬍子類似且兼容,但您可以很容易地編寫您自己的擴展。
我認爲這是一個非常有趣的問題!所以基本上,您正在尋找跨語言/框架的模板引擎,您可以使用相同的模板,同時交換整個技術堆棧的其餘部分。 – Davy8 2010-12-10 14:37:11
我會LOOOVE類似Django的模板引擎。 – drozzy 2011-04-15 14:34:39