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

  • 相关阅读:
    CodeForces 58C Trees
    【转】二分匹配题集
    HDU2604 Queuing
    HDU1281 棋盘游戏
    HDU3360 National Treasures
    HDU2444 The Accomodation of Students
    HDU1498 50 years, 50 colors
    HDU1068 Girls and Boys
    【转】常用的latex宏包
    【转】网络流题集
  • 原文地址:https://www.cnblogs.com/subendong/p/5178386.html
Copyright © 2011-2022 走看看