• 关于Nvelocity的主要语法和一些代码示例


     context.Response.ContentType = "text/html";
                VelocityEngine vltEngine = new VelocityEngine();
                vltEngine.SetProperty(RuntimeConstants.RESOURCE_LOADER, "file");
                vltEngine.SetProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, System.Web.Hosting.HostingEnvironment.MapPath("~/templates"));//模板文件所在的文件夹
                vltEngine.Init();
    
                //匿名类 把类的定义和对象的声明初使化放到一起
                var news = new { Title = "ffff", Author = "AL", PostDate = "2013-11-8", Msg = "公布消息细节" };
    
    
                
                VelocityContext vltContext = new VelocityContext();
                vltContext.Put("people", news);//设置参数,在模板中可以通过$data来引用
    
                Template vltTemplate = vltEngine.GetTemplate("displayNews.htm");
                System.IO.StringWriter vltWriter = new System.IO.StringWriter();
                vltTemplate.Merge(vltContext, vltWriter);
    
                string html = vltWriter.GetStringBuilder().ToString();
                context.Response.Write(html); //输出html代码
    

      下面是Html里的模板引擎的语法写法 和C#很相似

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
    </head>
    <body>
    #parse("head.htm")
    
    $ps.tom
    
    1:
    <ul>
    #foreach($mr in $MR)
    <li>$mr</li>
    #end
    </ul>
    2:
    <ul>
        #foreach($prs in $persons)
        <li>$prs.Name 年龄是 $prs.Age</li>
        #end
    </ul>
    
    #if($age>10)
        大于10
    #else
    小于等于10
    #end
    
    3:
    <ul>
    #foreach($prs in $persons)
        #if($prs.Age>20)  
          <li style="color:Red">$prs.Name的年龄是$prs.Age</li>
          #else
            <li style="color:Black">$prs.Name的年龄是$prs.Age</li>
          #end
    #end
    </ul>
    #parse("foot.htm")
    </body>
    </html>
    

      

  • 相关阅读:
    [LintCode] 最长上升子序列
    [LintCode] 最长公共前缀
    [LintCode] A + B 问题
    [hihoCoder] 拓扑排序·一
    [LintCode] 拓扑排序
    [LintCode] 第k大元素
    [LintCode] 最小路径和
    [LeetCode] Factorial Trailing Zeros
    [LintCode] 尾部的零
    [LeetCode] Length of Last Word
  • 原文地址:https://www.cnblogs.com/yzenet/p/3446682.html
Copyright © 2020-2023  润新知