【发布时间】:2015-03-16 14:27:51
【问题描述】:
来自 Node.js,现在使用 Java 我想知道如何使用 Java 实现我使用 Node.js 所做的事情,更具体地说:如何将我的模板编译成 JS 函数。
我之前所做的是使用 EJS 模板,然后将它们编译成一个 JS 文件,该文件公开了从 JS 调用带有参数的函数,这些函数返回一个 HTML 字符串,我可以用它来更新我的视图。
这样做的好处是我可以在单独的文件中编写模板,(EJS)然后动态 Grunt/EJS(我猜,这是来自 Sails.js 内部逻辑)将模板转换为函数,合并所有它们并最终生成一个可在我的应用程序中使用的文件,我只需要调用一个函数,提供参数就可以了:我得到一个动态生成的视图。
我想在 Java 环境中实现同样的目标,使用 Ant,也许是 maven,但我不知道如何做到这一点,因为我是 Java 新手。
编辑:
我说的是客户端模板,我只是想避免在 JS 字符串中编写 HTML 代码并将它们拆分为单独的文件以便我可以更轻松地维护它们的传统方式。我只需要从 JS 中使用它们,而不是从 Java 中使用它们,但我需要使用 Ant 从 Java 环境中“编译”它们。
【问题讨论】:
-
不清楚您是在询问 Java 元编程(通过创建模板作为构建的一部分编译成 Java 文件),还是询问与 Java 兼容的 Web 视图模板。对于后者,请查看 JSP(Java 服务器页面)、String Template 或 Velocity。您也可以将它用于元编程,但可能有更专业的工具。这个问题相当广泛且基于意见,但是......
-
@EricHughes 我认为他在谈论将模板转换为 JavaScript 函数的客户端模板系统(如本例中的 doT 或 EJS)。我认为答案是一些自定义代码是必要的;我有一组自己的 Ant 任务要做。
-
正是@EricHughes,我说的是客户端模板。如果您有任何资源或教程,请指导我吗?
-
This 已经过时了几年,但似乎符合您的目标。但是,如果 Node.js/Grunt/EJS 正在做你想做的一切,你是否禁止从 Ant 调用 Grunt 来完成你想要的特定任务?
-
我不能使用 Node.js 环境让我很懊恼,我必须在这里使用 Java/Ant。
标签: java javascript node.js sails.js