#* @test interpolation.vm This template is used for Velocity regression testing. If you alter this template make sure you change the corresponding comparison file so that the regression test doesn't fail incorrectly. *# Start with simple string interpolation : #set($name = "jason") $provider.concat("it will cost you $10.00", "") #set($image = "dog") $provider.concat("${image}.jpg", "") #set($foo-bar = "foobar") $provider.concat("${foo-bar}.jpg", "") #set($foo_bar = "foobar") $provider.concat("${foo_bar}.jpg", "") #set($one = 1) #set($two = 2) #set($three = 3) $provider.concat("${one}${two}${three}", "") $provider.concat("$one $two $three", "") How about a directive? Sure : #set($arr = ["a","b","c"]) #set($foo = "#foreach($a in $arr) >$a< #end") $foo For our next trick, lets interpolate a.... VelociMacro! #macro( interpfoo ) Hi, I'm a VM! #end #set($ivm = "#interpfoo()") $ivm And now, for something completely different : #set($code = "#if(false) True #else False #end") $code Now, non interpolated stringlits : #set($a = "$code") #set($b = '$code') #set($c = '$!$\!code') $a $b $c -- end --