1

我是使用Apache Velocity的新手。从宏或 Velocimacro 返回字符串的正确方法是什么?

由于我不知道如何从宏返回字符串,所以我决定做类似的事情

#macro(query_url $query_param)
     q=$query_param
 #end

然后我可以使用以下方法调用宏:#query_url("*")

这样做的问题是,当我调用它时,结果值在“q=”之前包含一个制表符或空格数。一种选择是删除空格,例如:

#macro(query_url $query_param)q=$query_param#end 

这解决了我的问题,但很难阅读。为了更进一步考虑:

#macro(default_query_url)
    #if($request.params.get('q'))
        #query_url($request.params.get('q'))
    #else
        #query_url("*")
     #end
 #end

比。

#macro(default_query_url)
#if($request.params.get('q'))#query_url($request.params.get('q'))#else#query_url("*")#end
#end

在第二种情况下,没有空格,但是对于更复杂的宏,编辑它会非常困难。

我很好奇从Velocimacros返回值的正确方法是什么,如果我可以在返回之前修剪结果空白?

4

0 回答 0