【问题标题】:Selector based html templating library for Java similar to Enlive类似于 Enlive 的基于选择器的 Java html 模板库
【发布时间】:2011-09-20 06:50:06
【问题描述】:

有没有人知道一个类似于Enlive的java模板库?

对页面使用纯 html,内部没有任何标记,并使用等效的 CSS 选择器来填充动态数据的页面的概念对我来说似乎很不错。

有关我正在寻找哪种模板的更多信息,请查看blog post 示例。

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

【问题讨论】:

    标签: java html templates clojure enlive


    【解决方案1】:

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

    免责声明:我是这个库的作者。

    【讨论】:

    • 谢谢。这正是我想要的。仍然比 Enlive 更冗长,但考虑到它是 Java,它是可以忍受的。
    【解决方案2】:

    前几天晚上我在看关于 Scalate 的 keynote of James Strachan at ScalaExchange

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

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

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

    【讨论】:

      【解决方案3】:

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

      "The Enlive approach to templating is functional and decouples design and presentation logic." 和“这里有一种控制反转。在大多数主流模板系统中,模板驱动表示逻辑。”。这可能需要大量使用“访问者模式”才能在严格的 Java 库中完成。

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

      【讨论】:

        猜你喜欢
        • 2011-12-21
        • 2011-06-03
        • 1970-01-01
        • 2023-04-06
        • 2019-12-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多