java Velocity:如何评估/解析变量中的“指令/内容”?
我有一个看似微不足道的问题,但我没能解决它。在我的Velocity模板中,我有一个变量$contentFormDb
,该变量已由数据库中的内容填充(在MVC应用程序的控制器中)。此变量不仅包含文字字符串,还包含进一步的Velocity指令(如" #set($test = "test) $test"
,请参见下面的示例)
如果我在模板中使用$contentFromDB
,Velocity会以“文字方式”将内容打印到模板中。例如,如果变量$contentFromDB
包含字符串" #set($test = "test) $test"
(这已在控制器中设置),我将在velocity模板中使用文字输出#set($test = "test) $test
,而不是仅test
我需要类似于#parse()
指令的东西,我可以给我的变量$contentFromDB
,然后它将对变量求值#parse($contentFormDb)
但是#parse()
只接受要计算/分析的文件
也许我完全理解错了。。。但如何解决这个问题在我看来,这是一个标准用例,包含来自DB的内容,然后还需要在模板中进行评估
非常感谢!! 一月
# 1 楼答案
#evaluate指令看起来可以执行您想要的操作
# 2 楼答案
您可以通过#parse()注册Velocimacros
这在速度1.6时成为可能