• 模板引擎小例子


    一般处理程序中可以使用模板引擎来实现前端与后端代码的分开维护工作。工具下载地址: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等。

  • 相关阅读:
    vue-cli项目打包出现空白页和路径错误问题
    Git操作手册
    Atom Editor 插件 atom-less 的使用方法
    Vue搭建
    使绝对定位高宽自适应
    原生JS表单序列化
    前端代码有关搜索引擎的代码
    网页局部打印
    万维网
    浅淡传统企业进入移动互联网的几种方式
  • 原文地址:https://www.cnblogs.com/len0031/p/4176866.html
Copyright © 2020-2023  润新知