问题标签 [fmpp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
freemarker - 目录名称的 Fmpp 模板
我正在使用 freemarker 模板自动生成文件。虽然到目前为止这工作正常 - 包括更改文件的名称 - 我还有一个我需要的附加功能。虚拟文件路径中的某些目录的名称必须根据模板进行更改,例如:
- /${flow.name}_design/...
- /${flow.name}_implementation/...
有没有办法用模板引擎实现这一点?感谢您的帮助和最诚挚的问候。
csv - FreeMarker FMPP 无法评估函数“csv”
使用 FMPP 版本 0.9.15,我按照文档示例从 CSV 文件中提取数据。如果我在 config.fmpp 中使用命令行:
或 ANT 配置:
无论哪种方式,我都会收到以下错误:
另一方面,如果我切换到“birds:text ...”或“birds:splitText ...”,我不会收到评估错误。看起来代码中仍然支持 csv。知道为什么 TDD 数据源无法识别 csv 函数吗?
java - Java 代码生成 - 有没有办法以您想要的名称动态生成文件夹?
我一直在尝试使用 fmpp 进行代码生成。但是我目前还没有能够实现我想要的功能之一,即动态替换文件夹名和文件名。
例如,如果我有一个包含如下文件的文件夹:
${project_name}
它在执行并将其复制到输出生成目录时不会替换文件和文件夹的值。
只是想知道是否有人对这个问题有洞察力,或者提出任何更好的工具可以做到这一点。
ant - 可以在 gulp 构建中使用 gulp-freemarker 来解决 fmpp.tools.AntTask 在 ant 构建中的作用吗?
新来的,所以我希望这个问题是足够的。
我们有一个 ant 构建文件,它运行一个任务来预处理 html 模板文件。这是构建文件的片段。
我现在正在使用聚合物,并希望将我们的构建转换为使用 gulp,因为 fmpp(和 yuicompressor)由于保留字而阻塞了聚合物中的一些 js 文件。我找到了一个 gulp-freemarker 插件,我认为它可以替代 fmpp。但是,1)我不确定,2)我似乎无法使用 gulp-freemarker 进行任何工作,包括他们来自 github 的示例代码。
这是我的 gulpfile:
这似乎运行正常 - 没有错误 - 但没有明显的输出。由于我对这些东西有点陌生,我可能不知道我应该寻找什么......
无论如何,我的最终目标是从 gulp-freemarker 获得与 ant/fmpp 相同的预处理结果。任何人都可以帮助回答这个问题并指出我正确的方向吗?
谢谢!
- 肯
ant - FMPP 使用旧的 FTL 语法
应该可以将 freemarker 配置为使用旧的 #-less 语法。
但是,为了让用户有时间为这种变化做准备,在 FreeMarker 2.1 和 2.2 中,# 的使用是可选的,除非程序员通过在 Configuration 上调用 setStrictSyntaxMode(true) 在 FreeMarker 配置中启用严格语法模式。事实上,我们强烈推荐给程序员。从某些更高版本开始,此设置最初将设置为 true。此外,您可以使用 ftl 指令指定是要在模板文件中使用严格语法还是旧语法。
如何配置 fmpp 预处理器以将这种旧语法与 Ant 集成一起使用?是否有设置或如何调用 setStrictSyntaxMode(false)?
我很感激任何帮助!
java - maven 的标准目录结构中的代码生成源(模板)在哪里?
我有一些需要从模板和数据生成的 java 源文件。我正在使用 freemarker 和 fmpp 和 maven exec 插件。它工作得很好,但我不确定我的模板应该放在 maven 标准目录结构中的哪个位置。
我生成的文件将进入生成源下的目标目录 - 这很明显。不明显的是这些生成的 .java 文件的来源应该去哪里。现在,我已经将它们与 json 数据文件和 fmpp 配置文件一起存储在 src/main/templates(命名为 *.java.ftl 和正确的包定义的子目录结构)中,但是是否有这些类型的文件的更好,更标准的位置?
freemarker - 在模板中使用 fmpp 命令行参数
我有一些配置模板,它们使用 FMPP 根据 csv 和属性文件(在 config.fmpp 中定义)中的信息生成真正的运行时配置文件。
我希望能够使用同一组模板和 config.fmpp 信息为同一任务配置第二个集群服务器。但是,生成的运行时配置需要稍有不同,如果我知道我在哪个服务器实例(“serverA”或“serverB”)上使用标准 fmpp 变量(如${myserver}
.
但是必须只有一组模板和 FMPP 配置文件,所以我需要以某种方式从每个服务器的运行时环境中获取“myserver”的值。
我可能有的一些选择是:
- 在命令行工具调用上传递 myserver 的值(最好的方法);或者
- 从环境变量中获取。
有没有人有代码示例来执行这些操作以及最佳方法的任何建议?在线参考会很棒。
环境设置:
- fmpp v0.9.14
- freemarker v2.3.19
gradle - Using FMPP with Gradle
I am attempting to convert an ant task which uses fmpp over to gradle. I am unable to get my project to build. I have the following in my build.xml file:
my build.gradle file looks like this
but when I run it I get the following error
FMPP processing session failed. Caused by: freemarker.core.InvalidReferenceException: Expression base_url is undefined on line 15, column 47 in data/header.htm.
So it seems like the template variable in the htm file isn't being properly picked up and implemented in my my build. I am not sure how to get around this. There are a few gradle plugins for fmpp but have very limited documentation and I am having difficulty getting any of them to work. If any one has suggestions or a work around it would be greatly appreciated.
*** Update
Here is an example of the htm file that's trying to be applied
gradle - 使用 fmpp 排除处理文件夹(但复制它)
我正在使用 FMPP 构建我的网站,但最近遇到了问题。当尝试构建我的项目(使用 gradle)时,它会在 PHPMailer 中读取文件。有没有办法忽略使用 FMPP 处理该文件夹但仍将其复制到我的构建目录?我知道我可以将忽略的ir.fmpp文件添加到该文件夹,但它会完全忽略它而无法复制,我不能拥有它。这是我的代码片段
fmpp - 使用 FMPP 时有什么方法可以定义数据模型的方法吗?
我想向我的数据模型添加方法,所以我需要一种方法来在我的 tdd 数据文件中指定它们。例如有一个包含两个标量的 tdd 数据文件:
我想添加一个将area
它们相乘的方法。这甚至可能吗?如果可以,我该如何实现?