Apache Velocity简介

        Apache Velocity是一个模板引擎.这意味着您可以向上下文添加变量,加载引用这些变量的模板,并从此模板呈现文本,其中变量的引用将替换为变量的实际值。

        它的目的是将设计和静态内容与代码分开.以一个网站为例.你不想在你的java代码中创建HTML,对吗?每次更改设计时都需要重新编译应用程序,并且会使用不必要的设计混乱来修改代码.您宁愿想要获取您的变量,无论是计算的还是来自数据库或其他任何变量,并让设计人员创建一个使用变量的HTML模板。
 

public String getVm(Map<String, Object> customProperties) {
        Properties p = new Properties();
        p.setProperty(VelocityEngine.FILE_RESOURCE_LOADER_PATH, legaoVmFilePath);
        p.setProperty(Velocity.ENCODING_DEFAULT, Constants.ENCODING);
        p.setProperty(Velocity.OUTPUT_ENCODING, Constants.ENCODING);
        // 初始化Velocity引擎,init对引擎VelocityEngine配置了一组默认的参数
        Velocity.init(p);
        Template template = Velocity.getTemplate(legaVmFileName, Constants.ENCODING);
        VelocityContext context = new VelocityContext(customProperties);
        StringWriter stringWriter = new StringWriter();
        template.merge(context, stringWriter);
        return stringWriter.getBuffer().toString();
    }

现在给出一个名为myTemplate.vm的文件
 

${welcome} ${user.name}!
You are an ${user.type}.

输出将是:

Hello, Foo!
You are an admin.

因此,使用像Velocity这样的模板引擎(还有其他人,例如ThymeleafFreemarker)可以让设计师完成设计师的工作,程序员可以完成程序员的工作,同时对彼此的干扰最小.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值