zoukankan      html  css  js  c++  java
  • NVelocity中调用方法 一定要通过 类.方法

     protected void Page_Load(object sender, EventArgs e)
        {
            IList
    <UserInfo> listUsers = new List<UserInfo>();

            UserInfo objUser 
    = new UserInfo();
            objUser.Name 
    = "TestUser1";
            objUser.Sex 
    = "M";
            objUser.City 
    = "ShenZhen";
            listUsers.Add(objUser);

            objUser 
    = new UserInfo();
            objUser.Name 
    = "TestUser2";
            objUser.Sex 
    = "F";
            objUser.City 
    = "BeiJing";
            listUsers.Add(objUser);

            objUser 
    = new UserInfo();
            objUser.Name 
    = "TestUser3";
            objUser.Sex 
    = "M";
            objUser.City 
    = "USA";
            listUsers.Add(objUser);


            VelocityEngine engine 
    = new VelocityEngine();
            ExtendedProperties props 
    = new ExtendedProperties();
            props.AddProperty(
    "file.resource.loader.path", Server.MapPath("."));
            engine.Init(props);
            Template template 
    = engine.GetTemplate("HTMLPage2.htm");


            VelocityContext context 
    = new VelocityContext();
            context.Put(
    "name""VelocityEngine测试</br>");//修改模版页中的
            context.Put("listUsers", listUsers);

            tool tool 
    = new tool();//新类
            context.Put("nono", tool);
           
            System.Text.StringBuilder builder 
    = new System.Text.StringBuilder();
            builder.Append(
    "#foreach($u in $listUsers)\r\n" +
                
    "#beforeall\r\n" +
                
    "<table border=\"0\" cellpadding=\"10\" cellspacing=\"10\">" +
                
    "<tr><td>Name</td><td>Sex</td><td>City</td></tr>" +
                
    "#each\r\n" +
                
    "<tr>" +
                
    "<td>$nono.method($u.Name)</td>" +
                
    "<td>$u.Sex</td>" +
                
    "<td>$u.City</td>" +
                
    "</tr>" +
                
    "#afterall\r\n" +
                
    "</table>" +
                
    "#nodata\r\n" +
                
    "暂无用户资料\r\n" +
                
    "#end");


            System.IO.StringWriter vltWriter 
    = new System.IO.StringWriter();
            template.Merge(context, vltWriter);
            engine.Evaluate(context, vltWriter, 
    null, builder.ToString());


           
    // System.IO.StringWriter vltWriter = new System.IO.StringWriter();


            Response.Write(vltWriter.GetStringBuilder().ToString());

        }
  • 相关阅读:
    使用EntityFramework之Code First开发与MySql数据库问题一例
    使用Emit创建DBContext对象
    一个实用的Metro滚屏效果示例
    合理使用EntityFramework数据验证的异常错误提示信息
    Metro app中使用内存流压缩和解压
    64位的windows操作系统上运行32位asp.net web应用程序的时候,出现试图加载格式不正确的程序的解决方法
    VSTO中自定义XML功能区实现Ribbon控件互相更新
    基于任务并行库实现多线程下载示例
    Android系统刷机成功后网络信号显示“无服务”修正
    Solution Explorer中显示依赖文件和链接文件
  • 原文地址:https://www.cnblogs.com/aaa6818162/p/1457853.html
Copyright © 2011-2022 走看看