velocity 文件模板拼接字符串
velocity.properties
example2.vm:
Hello from $name in the $project project.
public class VelocityUtilTest {
public static void main(String[] args) {
String templateFile="./resource/velocity/example2.vm";
Map<String,Object> arguments = new HashMap<String,Object>();
arguments.put("name", "Velocity");
arguments.put("project", "Jakarta");
String str = VelocityUtil.getContent(templateFile,arguments);
System.out.println(str);
}
}
import java.io.StringWriter;
import java.util.Map;
import java.util.Map.Entry;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.exception.MethodInvocationException;
import org.apache.velocity.exception.ParseErrorException;
public class VelocityUtil {
static VelocityUtil instance = new VelocityUtil();
static{
try
{
Velocity.init();
}
catch(Exception e)
{
System.out.println("Problem initializing Velocity : " + e );
}
}
public static String getContent(String templateFile, Map<String,Object> args){
VelocityContext context = new VelocityContext();
if(args!=null){
for(Entry<String,Object> ent: args.entrySet()){
context.put(ent.getKey(), ent.getValue());
}
}
StringWriter w = new StringWriter();
try
{
Velocity.mergeTemplate(templateFile, "ISO-8859-1", context, w );
}
catch (Exception e )
{
System.out.println("Problem merging template : " + e );
}
System.out.println(" template : " + w );
String s = "We are using $project $name to render this.";
w = new StringWriter();
try
{
Velocity.evaluate( context, w, "mystring", s );
}
catch( ParseErrorException pee )
{
System.out.println("ParseErrorException : " + pee );
}
catch( MethodInvocationException mee )
{
System.out.println("MethodInvocationException : " + mee );
}
catch( Exception e )
{
System.out.println("Exception : " + e );
}
return w.toString();
}
}