封装Nvelocity的渲染方法

 public class CommonHelper
    {
        /// <summary>
        /// 用data数据填充templatename模板,渲染返回html返回
        /// </summary>
        /// <param name="templatename"></param>
        /// <param name="data"></param>
        /// <returns></returns>
        public static string RenderHtml(string templatename,object data)
        {

            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 p = new { Title = "特大喜讯", Author = "毛健", PostDate = "2015-02-06", Msg = "今夜你要尿炕~" };

            VelocityContext vltContext = new VelocityContext();
            vltContext.Put("Data", data);//只放一个data,如果有多个参数,以data属性的形式传入。

            Template vltTemplate = vltEngine.GetTemplate(templatename);//拿到模板文件
            System.IO.StringWriter vltWriter = new System.IO.StringWriter();
            vltTemplate.Merge(vltContext, vltWriter);

            string html = vltWriter.GetStringBuilder().ToString();

            return html;
        }
    }
时间: 2024-08-13 01:49:02

封装Nvelocity的渲染方法的相关文章

【转载】OLE控件在Direct3D中的渲染方法

原文:OLE控件在Direct3D中的渲染方法 Windows上的图形绘制是基于GDI的, 而Direct3D并不是, 所以, 要在3D窗口中显示一些Windows中的控件会有很多问题 那么, 有什么办法让GDI绘制的内容在3D中显示出来?反正都是图像, 总有办法实现的嘛! 前段时间在研究浏览器在游戏中的嵌入, 基本的思路就是在后台打开一个浏览窗口, 然后把它显示的内容拷贝到一张纹理上, 再把纹理在D3D中绘制出来, 至于事件处理就要另做文章了. 所以, 其它的Windows里的GDI绘制的东西

游戏引擎中三大及时光照渲染方法介绍(以unity3d为例)

(转)游戏引擎中三大及时光照渲染方法介绍(以unity3d为例) 重要:在目前市面上常见的游戏引擎中,主要采用以下三种灯光实现方式: 顶点照明渲染路径细节 Vertex Lit Rendering Path Details 正向渲染路径细节 Forward Rendering Path Details 延迟光照渲染路径的细节 Deferred Lighting Rendering Path Details 以unity3d为例,以下将详细讲解三种灯光渲染方式的实现.原理及缺陷. 顶点照明渲染路径

字符串获取类、封装检测数字的方法

1.charAt()方法: 从整个字符串中找到某子字符,即返回指定位置的字符.charAt(str.length).里面的数字最大为字符串长度减一 eg:stringObject.charAt(index):如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串 var str = '妙味课堂'; var str = '妙味课堂'; // alert( str.length ); // alert( str.charAt() ); //默认为第0个 //

原生ajax与封装的ajax使用方法

当我们不会写后端接口来测试ajax时,我们可以使用node环境来模拟一个后端接口. 1.模拟后端接口可参考http://www.cnblogs.com/heyujun-/p/6793900.html网站整站开发小例子,在打开命令窗口并转到所在项目文件夹下在命令行中输入npm install express --save,安装express中间件. 2.把当中的app.js的内容换成 var express=require('express'); //var path=require('path'

架构练习:c语言实现贪吃蛇(三):封装蛇的移动方法

目前进展: 封装蛇的移动方法: typedef struct snakeinfo { int numParts;/* how many parts,蛇身体分多少个段 */ int lenParts[GAME_WIDTH];/* 蛇身体每段的长度 */ int xPartsHead[GAME_WIDTH];/* 蛇身体第i段的x坐标,初始值为1 */ int yPartsHead[GAME_WIDTH];/* 蛇身体第i段的y坐标,初始值为1 */ uchar direction;/* 蛇当前在像

一种智能卡封装框架的电镀方法

一种智能卡封装框架的电镀方法,属于电子信息技术领域.其特征在于:本发明将成型框架进行前处理之后,再在框架接触层电镀1.8~2.2μm厚的镍层,再在镍层的基础上电镀0.4~0.8μm的磷镍合金层,之后再在框架接触面的磷镍合金层外电镀0.009~0.05μm厚的金层.本发明提高了产品接触表面的耐磨性和抗腐蚀性.本发明可以减少硬金的厚度,并取消后处理的使用,大大节约成本. 1.一种智能卡封装框架的电镀方法,其特征在于,接触层电镀工艺步骤为: 1.1.前处理:对成型框架的铜面进行表面清洗,除去铜面上的油

基于三维GIS技术的矢量地图动态LOD渲染方法研究现状

“地图是人类文化的杰作,它融科学.艺术于一体,作为描述.研究人类生存环境的一种信息载体是人类生产与生活中不可缺少的一种工具.”这是陈述彭院士为<中国地图学年鉴>作序的开场语.Taylor也曾指出“当涉及应用人脑来识别空间联系中的模式与相互关系时,地图学的认知方法是唯一的过程”.地图存在于我们生活的方方面面,应用广泛且己经产生了巨大的社会效应和经济效益,其重要性不言而喻.地图是地图可视化的结果,地图可视化作为现代地图学的核心一直是三维GIS的研究热点.地图可视化将电子设备的视觉传输能力和人类的视

基于三维GIS技术的动态LOD渲染方法的实验及验证

针对透视投影下现有矢量地图动态LOD渲染方法存在的不足,本文从渲染的客观需求出发使用梯形格网统一了简化与剖分的过程,并研究了透视投影下梯形格网的简化算法.之后,分析了地图简化的影响因素,最终,针对GPU的渲染流程提出了一种基于三维GIS梯形格网的矢量地图动态LOD渲染方法.在此基础上,设计可视化平台的渲染引擎以实现地图渲染,并设计典型的实验案例验证本文方法的可行性与适用性.1.可视化平台的框架结构本文设计的可视化平台主要包括地图组织模块.地图操作模块和渲染执行模块三大子模块.以地理数据.符号库和

vue中 表头 th 合并单元格,且表格列数不定的动态渲染方法

吐槽 今天,在vue中遇到 复杂表格的渲染 ,需要合并表头th的单元格,且合并单元格的那列的表头数据是动态数据,也就是不知道会有多少个表头列,而这几个表头列还分了好几个子表头. 这个需求在js里用Juicer模板很好做的,思路我是有的,但就是对于vue,我也算初学者,很多概念不是很懂,这就限制了思路. 在网上搜了很多合并单元格的都是简单的数据合并,也就是td合并, 不是我们的需求,就不贴了. 哎,废话不多说了,看代码吧: 代码示例 使用iviewui的table组件: 最初,直接使用项目中的iv