velocity 文件模板拼接字符串

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();
 }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值