有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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的内容,然后还需要在模板中进行评估

非常感谢!! 一月


共 (2) 个答案

  1. # 1 楼答案

    #evaluate指令看起来可以执行您想要的操作

  2. # 2 楼答案

    您可以通过#parse()注册Velocimacros

    这在速度1.6时成为可能