zoukankan      html  css  js  c++  java
  • NVelocity解析字符串

    之前都是先从模板文件里面读取html字符串,现在要求将模板存入数据库或缓存了,怎么办呢?在网上找了下资料,终于找到解决办法。

    如下:

    public class NVelocityHelper
        {
            /// <summary>
            /// 解析字符串
            /// </summary>
            /// <param name="content">字符串</param>
            /// <returns></returns>
            public string ReplaceLabels(string content)
            {
                var h = new Hashtable {
                            { "foo", "Template" },
                            { "bar", "is working" },
                            { "foobar", new[] { "1", "2", "3" } } };
                Velocity.Init();
                var c = new VelocityContext(h);
                var s = new StringWriter();
                Velocity.Evaluate(c, s, "", content);//$foo $bar: #foreach ($i in $foobar) $i #end
                return s.ToString();
            }
        }

    说明:变量h可以作为参数传递进来,调用如下:

                Common.Nvelocity.NVelocityHelper template = new Common.Nvelocity.NVelocityHelper();
                var result = template.ReplaceLabels("$foo $bar: #foreach ($i in $foobar) $i #end");

    这样就会将字符串解析了。

    参考网址:http://stackoverflow.com/questions/568215/does-nvelocity-no-longer-support-string-templates

  • 相关阅读:
    spring MVC中定义异常页面
    Spring中bean的范围
    Linux Socket学习域和套接口简介
    MySQL学习字符串属性
    Mybatis注解学习xxxMapper is not known to the MapperRegistry
    eclipse怎样生成javadoc
    java 序列化
    使用Spring的JavaConfig
    SQLBuilder
    Linux 操作
  • 原文地址:https://www.cnblogs.com/subendong/p/5178386.html
Copyright © 2011-2022 走看看