gpt4 book ai didi

java - 使用 USCavalry 转换器将 Velocity 模板转换为 FreeMarker

转载 作者:行者123 更新时间:2023-11-29 04:31:16 25 4
gpt4 key购买 nike

我有大量 Velocity 模板要转换为 FreeMarker。

我找到了一个名为 USCavalry 的转换器工具声称可以完成这项工作。

我在 IntelliJ 中将其设置为 Maven 项目,并将 Velocity 和 Freemarker 依赖项添加到我的 pom.xml 中。

该工具运行良好,但我对得到的输出不满意。它似乎是 AST 的标记化输出。不替换正确的 FreeMarker 符号。

有没有其他人遇到过这个问题?您更改了什么以获得有意义的 FreeMarker 模板作为输出?

我将尝试修改源以输出 Velocity RuntimeServices.parse() 的成果以外的内容,但我认为如果其他人已经解决了这个问题,这可能会有所帮助。

最佳答案

USCavarlry 是一个非常简单的工具,也非常过时(链接的网页是 10 年前的快照,也许它在那时就已经过时了)。对于非常基本的事情,它似乎有效(比如 #if($x == 1)$y#end 被翻译成 <#if x == 1>${y}</#if> ,至少对我而言)。正确的自动翻译即使在理论上也是不可能的,即使做得一半体面也会非常棘手(就像你必须考虑语义差异,比如在 if 条件下什么才算是逻辑真,必须认识到广泛使用的调用速度工具并将它们转换为 ?xxx 表达式等)。据我所知,不存在这样的工具。因此,这主要是一项手动任务,使用手工制作的正则表达式替换和所有...或者您必须修改 USCavalry 源代码,以速度更快者为准。

关于java - 使用 USCavalry 转换器将 Velocity 模板转换为 FreeMarker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43738202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com