2

我最近一直在 python 中使用ZPT,我喜欢模板语言。我一直在为 Java 寻找类似的东西,但也找不到我喜欢的东西。最接近的是FreeMarker

我看到的 FreeMarker 和其他 Java 模板引擎的问题是它们的 JSP 样式语法允许不符合标准的 XML。我只是想知道是否有类似于 Zope 页面模板的 Java 模板引擎,因此它是一种需要有效 xml 的“属性”语言。

4

7 回答 7

2

我认为您正在寻找相当多的模板引擎:

其他支持有效 html 的方法是:

于 2011-11-05T00:03:06.273 回答
1

FreeMarker对 AWT 有严重的依赖。这使得它无法与 Google App Engine 之类的东西一起使用。

我更喜欢使用StringTemplate来满足我所有的 Java 模板需求。它是唯一一个将逻辑与模板严格分离的基于 Java 的模板系统。

StringTemplate 是一个 java 模板引擎(带有用于 C#、Python、Ruby 和 Scala 的端口),用于生成源代码、网页、电子邮件或任何其他格式化的文本输出。StringTemplate 尤其擅长多目标代码生成器、多站点皮肤和国际化/本地化

它的显着特点是与其他引擎不同,它严格执行模型视图分离。严格的分离使网站和代码生成器更加灵活和可维护;它还可以很好地防御恶意模板作者。

由于您正在生成 XML

乍一看并不明显的另一个解决方案是使用 JAXB。我们这里有一个项目,需要我们生成 XML,我们为输出文件定义了非常好的 XSD 文件,构建对象并编组它们非常容易而且非常轻松。

于 2011-11-03T20:30:24.467 回答
1

您会发现与 Chameleon 最相似的 java 模板引擎是Thymeleaf

于 2012-02-22T13:34:15.697 回答
1

基于客户端的模板有Distal

于 2012-03-13T07:24:40.900 回答
1

我知道目前有两种Java 的实现:

于 2012-07-11T15:05:47.843 回答
0

还有Apache Velocity。虽然它不要求您的模板是有效的 XML。考虑到这个问题,这对你来说可能是一个交易破坏者。不过,您可能会通过扩展核心类来强制执行该规则。

于 2011-11-03T21:15:52.397 回答
0

GXP呢?

还有LSPxtempore

于 2011-11-05T00:48:11.030 回答