• 模板引擎小例子


    一般处理程序中可以使用模板引擎来实现前端与后端代码的分开维护工作。工具下载地址:http://www.castleproject.org/download/  (NVelocity.dll)引用即可。

           //对象
                Person person = new Person();
                person.Name = "yzk";
                person.Age = 30;
           //list集合
                Dictionary<string, string> dict = new Dictionary<string, string>();
                dict["tom"] = "斯坦福";
                dict["jim"] = "加里敦";
                dict["yzk"] = "哈佛";

             //把类的定义和对象的声明初始化放到一起
            //匿名类
            var news = new { Title = "特大喜讯",Author="杨中科",PostDate="2013-11-08",Msg="今天晚上会公布喜讯细节!" };
            string s = news.PostDate;

                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();
    
                VelocityContext vltContext = new VelocityContext();
                vltContext.Put("p", person);//设置参数,在模板中可以通过$data来引用
           vltContext.Put("p", dict);//设置参数,在模板中可以通过$data来引用 Template vltTemplate = vltEngine.GetTemplate("test.htm"); System.IO.StringWriter vltWriter = new System.IO.StringWriter(); vltTemplate.Merge(vltContext, vltWriter); string html = vltWriter.GetStringBuilder().ToString(); context.Response.Write(html);
    <ul>
        #foreach($p in $persons)
            #if($p.Age>20)
              <li style="color:Red">$p.Name的年龄是$p.Age</li>
            #else
              <li style="color:Green">$p.Name的年龄是$p.Age</li>
            #end
        #end
    </ul>

    在htm中用$p接受后台的数据,前台可以接受字符串$p、对象$p.Name、索引$p.tom等。

  • 相关阅读:
    第十三周学习进度条
    冲刺第四天
    第二天冲刺
    第三天冲刺
    第一天冲刺
    课下作业
    第十二周学习进度条
    课下作业
    webp与png、jpg相互转换
    Node疑难解决
  • 原文地址:https://www.cnblogs.com/len0031/p/4176866.html
Copyright © 2020-2023  润新知