擴展Velocity語法時被認爲是最佳實踐。可用的兩種機制是指令和宏。兩者看起來同樣強大。指令要求實際開發Java代碼,而宏只是Velocity語法的片段。速度宏指令與指令
指令是因爲它們是用Java編寫的,你不必解析包含宏中的額外速度語法的優勢。它使Velocity的擴展更加正式,並且阻止了大量不受控制的添加。
在對宏有利的一面,我認爲這是是非常靈活的,並允許大量重複使用的共同模式的應用程序的開發過程中發現的。
所以,你在這方面的想法將是最歡迎的。
擴展Velocity語法時被認爲是最佳實踐。可用的兩種機制是指令和宏。兩者看起來同樣強大。指令要求實際開發Java代碼,而宏只是Velocity語法的片段。速度宏指令與指令
指令是因爲它們是用Java編寫的,你不必解析包含宏中的額外速度語法的優勢。它使Velocity的擴展更加正式,並且阻止了大量不受控制的添加。
在對宏有利的一面,我認爲這是是非常靈活的,並允許大量重複使用的共同模式的應用程序的開發過程中發現的。
所以,你在這方面的想法將是最歡迎的。
實際上還有第三種方法。但首先...
指令是做事情或模板的一部分,或者要求他們周圍的模板的意識的東西。例如,您可以創建一個指令,以某種方式轉換它所包含的部分的輸出。他們以全球性,永遠在線的方式提供這種以模板爲中心的功能。
宏的設計不是功能。他們最好用於重複內容或標記。它們是爲了防止你用Java代碼輸出任何標記語言(或什麼),或者一遍又一遍地重複VTL的各個部分。
第三種方式稱爲「工具」。 VelocityTools項目中有許多可以用作示例的項目,更不用說爲真正簡單的工具管理提供支持代碼。無論如何,工具主要用於訪問或操作數據。不要創建數字格式的指令或宏。使用工具。工具爲模板中難以使用的庫和API提供了VTL友好的界面。它們可以被訪問控制,並且以指令和宏永遠不可能的方式進行限定。
所有這三個是非常有用的,對於不同的事情。總之:
許多感謝的選項很好的總結數據。我仔細看了一下Velocity Tools,還有很多功能。謝謝 – user1414289