从 Velocity 宏的输出中删除空格

Removing whitespace from the output of a Velocity macro

我正在调用一个名为 #renderwithfallback 的 Velocity 宏,我无法访问它的源代码。但是,此宏调用的结果输出包含前导空格,我无法删除它。

对宏的调用如下所示(请注意,它前面有一个名为 $link.requestBaseURL 的变量):

$link.requestBaseURL#renderwithfallback({'content': $image, 'params':{'renderMode': 'urlBuilderStandard'}})#end

结果输出如下所示:

http://local.london24.com:8080 /image/policy:1.312:1450097969/黄橙-daffodils.jpg?f=default&h=200&w=300&$p$f$h$w=c7ebfa3

如您所见,URL 由于 8080 和正斜杠之间存在空格而被破坏。

我已多次尝试删除此空格,但没有任何效果。我尝试将 .trim() 和 .replace(" ","") 添加到宏调用的末尾,但这没有效果。我也尝试过将宏调用分配给这样的 Velocity 变量:

#set($imageLocation = "#renderwithfallback({'content': $image, 'params':{'renderMode': 'urlBuilderStandard'}})#end")

然后在 $imageLocation 上调用 .trim() 方法,但这也不起作用。 #set 行直接打印出宏的输出,然后当我尝试打印出 $imageLocation 甚至 $imageLocation.trim() 时,它在网页上显示为空白。

有谁知道如何去掉空格?

尝试$stringUtils.deleteWhitespace(your variable)