基于Selector的html模板库,用于Java,类似于Enlive

时间:2011-06-22 10:50:12

标签: java html templates clojure enlive

是否有人知道java的模板库本质上与Enlive类似?

对于页面使用普通html而没有任何标记的概念,以及使用相当于CSS选择器来填充页面的动态数据的概念对我来说似乎很不错。

有关我正在寻找什么样的模板的更多信息,请查看此blog post作为示例。

我知道可以用Java创建Enlive包装器并使用它,但我正在查看现有的Java替代方案。

3 个答案:

答案 0 :(得分:6)

如果还不晚,我建议您查看Moulder,这是一个模板库,通过从原始模板中选择元素并对它们应用转换来生成页面。 有关该主题的更多资源:

免责声明:我是这个图书馆的作者。

答案 1 :(得分:4)

因为enlive依赖于clojure的表达优雅来实现它的魔力,java中的植入可能会失去这种魔力。

"The Enlive approach to templating is functional and decouples design and presentation logic."和“这里有一种控制反转。在大多数主流模板系统中,模板驱动表示逻辑。”这可能需要在海峡java库中广泛使用“访客模式”来实现。

你可能会更好地将你需要公开的部分包装到非clojure世界。并在clojure中编写模板。虽然我知道有很多很好的理由 为什么这种方法可能不适合您的项目/组织。

答案 2 :(得分:2)

我正在keynote of James Strachan at ScalaExchange关于Scalate的那一天看。

它是一个模板引擎,包含一组模板语言。我一直在看它使用Mustache部分,有一个名为Scuery的模板系统,它也是基于CSS / JQuery之类的选择器。

实际上,它是一个很好的演示文稿,显示了一系列模板解决方案的实现。 Scaml + Markdown看起来也很不错。

严格来说它是scala,但AFAICT你可以使用Java中的API。当然,一些模板语言嵌入了基于scala的DSL。