簡體   English   中英

使用USCavalry轉換器將Velocity模板轉換為FreeMarker

[英]Converting Velocity template into FreeMarker using USCavalry converter

我有大量的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條件下算作邏輯真,必須認識到廣泛使用的Velocity工具的調用)並將它們翻譯成?xxx表達式等)。 據我所知,目前還沒有這樣的工具。 所以它主要是一個手動任務,手工制作正則表達式替換和所有...或者您必須修改USCavalry源代碼,以較快者為准。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM