El valor nulo se prueba como el valor booleano false
por Velocity
This is a test
#if( !$test )
Test is null
#end
#if( $test == true )
Test is NOT null
#end
import static org.junit.Assert.assertEquals; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.io.Writer; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.VelocityEngine; public class VelocitySimple4 { public static void main(String[] argv){ // Source directory String sourceDirectory = "V:/tmp/velocity/"; // Create the velocity engine VelocityEngine ve = new VelocityEngine(); ve.setProperty( "resource.loader", "file"); ve.setProperty( "file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.FileResourceLoader"); ve.setProperty( "file.resource.loader.path", sourceDirectory); ve.setProperty( "file.resource.loader.cache", true); ve.setProperty( "file.resource.loader.modificationCheckInterval", "2"); ve.init(); // Get the template Template t = ve.getTemplate( "example4.vm" ); // Create the VelocityContext context = new VelocityContext(); context.put("test", null); try { // Create the output file Writer out = new BufferedWriter(new OutputStreamWriter( new FileOutputStream( new File( sourceDirectory + "example4.txt" ) ), "UTF8") ); t.merge( context, out); out.close(); } catch ( Exception e ){ e.printStackTrace(); } } }
This is a test
Test is null
El código primero inicia el VelocityEngine
usando el cargador de recursos de archivos. La prueba válida se establece en el contexto con el valor nulo, luego la plantilla se fusiona con el contexto y la salida se almacena en el archivo example4.txt.