Thank you very much Alex. This would be very painful if every time I call a macro, I would need to set a variable and trim it. I am curious what is the function of the @ sign in the helper “trim” macro that you suggested. By the way, how do I call this macro i.e. invoke it? Is it possible to return a particular variable from a Web Macro? E.g. #macro(default_query_url) #if($request.params.get('q')) #set($str = query_url($request.params.get('q'))) #else #set($str = query_url("*")) #end RETURN $str ???? How???
#end This would help my whitespace problem. Thanks again, O. O. ----- Messaggio originale ----- Da: Alex Fedotov <a...@kayak.com> A: Velocity Users List <user@velocity.apache.org>; O. Olson <olson_...@yahoo.it> Cc: Inviato: Giovedì 1 Agosto 2013 12:43 Oggetto: Re: Returning String without Whitespace from Velocimacros Simple way: #set($str="#default_query_url()") $str.trim() Can probably create a helper macro "trim" that does the same thing to the body content: #@trim() #default_query_url() #end On Thu, Aug 1, 2013 at 1:27 PM, O. Olson <olson_...@yahoo.it> wrote: > Hi, > > 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 > In the first 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? > > Thank you an advance for any help. > O. O. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@velocity.apache.org > For additional commands, e-mail: user-h...@velocity.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@velocity.apache.org For additional commands, e-mail: user-h...@velocity.apache.org