I am new to using Apache Velocity. What is the correct way of returning a string from a Macro or a Velocimacro?
Since I did not have a clue on how to return a string from a Macro, I decided to do something like
#macro(query_url $query_param)
q=$query_param
#end
I can then call the Macro using: #query_url("*")
The problem with this is that the resulting value contains a Tab or number of Spaces before the 'q=' when I call it. One option is to delete the spaces like:
#macro(query_url $query_param)q=$query_param#end
This fixes my problem but is very hard to read. To take this a step further consider:
#macro(default_query_url)
#if($request.params.get('q'))
#query_url($request.params.get('q'))
#else
#query_url("*")
#end
#end
Vs.
#macro(default_query_url)
#if($request.params.get('q'))#query_url($request.params.get('q'))#else#query_url("*")#end
#end
In the second case there is no whitespace, but editing it would be very difficult for more complicated macros.
I am curious what is the correct way to return values from Velocimacros and if I can Trim the resulting Whitespace before returning it?