模版引擎(NVelocity)开发
在net中用模版开发,在handler中用到了大量的html代码。为解决这个问题,我可以采用模版引擎(NVelocity)进行开发。
1、首先需要将NVelocity.dll文件放入项目,其次引用。
2、配置更改,
代码如下:
context.Response.ContentType = "text/html";
//1.创建Velocity 引擎(VelocityEngine)并设置属性
VelocityEngine vltEngine = new VelocityEngine();
vltEngine.SetProperty(RuntimeConstants.RESOURCE_LOADER, "file");
vltEngine.SetProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, context.Request.MapPath("~/templates"));
vltEngine.Init(); // 2.Velocity 上下文对象设置
VelocityContext vltContext = new VelocityContext();
vltContext.Put("data", "yhb"); // 3.创建模板
Template vltTemplate = vltEngine.GetTemplate("photo.htm");
System.IO.StringWriter vltWriter = new System.IO.StringWriter();
// 4.合并模板和上下文对象,输出
vltTemplate.Merge(vltContext, vltWriter); context.Response.Write(vltWriter.GetStringBuilder().ToString());
将上述代码中需要的部分更改成我需要的配置,1.MapPath中所放路径为htm所在路径,2.vltContext.Put方法中所放为一个键值对,值为想要的信息,如datateble,list等等、、,3.在模版创建中vltEngine.GetTemplate方法中所放为当前要用的模版htm。(file)为以文件方式读取。
3、前台的使用,
前台代码如下:
<head>
<title>模版引擎的使用</title>
<style type="text/css">
img
{
width: 50px;
height: 50px;
}
table
{
border: 1px solid black;
border-collapse: collapse;
}
table th, table td
{
border: 1px solid black;
}
</style>
</head>
<body>
<table>
<tr>
<th>
编号
</th>
<th>
图片
</th>
<th>
支持
</th>
<th>
反对
</th>
<th>
分享
</th>
<th>
描述
</th>
<th>
作者
</th>
</tr>
#foreach($jj in $jia.rows)
<tr>
<td>
$!jj.id
</td>
<td>
<img src="$!jj.url" />
</td>
<td>
$!jj.up
</td>
<td>
$!jj.down
</td>
<td>
$!jj.share
</td>
<td>
$!jj.Description
</td>
<td>
$!jj.author
</td>
</tr>
#end
</table>
</body>
注意在代码中$是一中语法,在$后面跟上vltContext.Put中建好的键值对的键就可以访问数据了,在NVelocity中只有foreach循环,循环开始时用#foreach结束时用#end。
$键的方式是取值,如果没有该值的话,会在页面上显示原有样式,用取反的方式($!键)这样有值则会显示,没值也不会在页面上显示原有样式。
当$!键后直接跟了一段英文或字母,则NVelocity会讲此次的访问当作一个不存在的键访问,这种情况下可以用$!{键}xiaoxue的语法访问。
模版引擎(NVelocity)开发的更多相关文章
- Asp.net NVelocity 模版引擎
NVelocity.dll是Java中常用的一个模版,下面是常用的模版引擎 1,返回string类型的html代码 /// <summary> /// 获取html模版 /// </ ...
- 如何在前端模版引擎开发中避免使用eval函数
前段时间,想着自己写一个简单的模版引擎,便于自己平时开发demo时使用.于是根据自己对模版引擎的理解,定义自己的模版格式,然后,根据自己定义的格式,编写处理函数,将模版标签中的字符串,解析成可执行的字 ...
- js模版引擎开发实战以及对eval函数的改进
简介 前段时间,想着自己写一个简单的模版引擎,便于自己平时开发demo时使用,同时也算是之前学习的知识的一种总结吧! 首先我们先了解一下模版引擎的工作原理吧! 1. 模版引擎其实就是将指定标签的内容根 ...
- Springboot 系列(五)Spring Boot web 开发之静态资源和模版引擎
前言 Spring Boot 天生的适合 web 应用开发,它可以快速的嵌入 Tomcat, Jetty 或 Netty 用于包含一个 HTTP 服务器.且开发十分简单,只需要引入 web 开发所需的 ...
- 黄聪:VS2010开发T4模版引擎之基础入门
原文:http://www.cnblogs.com/lzrabbit/archive/2012/07/15/2591085.html 额,T4好陌生的名字,和NuGet一样很悲催,不为世人所熟知,却又 ...
- js模版引擎handlebars.js实用教程——为什么选择Handlebars.js
返回目录 据小菜了解,对于java开发,涉及到页面展示时,比较主流的有两种解决方案: 1. struts2+vo+el表达式. 这种方式,重点不在于struts2,而是vo和el表达式,其基本思想是: ...
- 简单JavaScript模版引擎优化
在上篇博客最简单的JavaScript模板引擎 说了一下一个最简单的JavaScript模版引擎的原理与实现,作出了一个简陋的版本,今天优化一下,使之能够胜任日常拼接html工作,先把上次写的模版函数 ...
- PHP模版引擎 – Twig
在网站开发过程中模版引擎是必不可少的,PHP中用的最多的当属Smarty了.目前公司系统也是用的Smarty,如果要新增一个页面只需把网站的头.尾和左侧公共部分通过Smarty的include方式引入 ...
- Nodejs学习笔记(五)--- Express安装入门与模版引擎ejs
目录 前言 Express简介和安装 运行第一个基于express框架的Web 模版引擎 ejs express项目结构 express项目分析 app.set(name,value) app.use ...
随机推荐
- 汉企C#面向对象——继承Practice
class Dianqi //创建电器类:父类 { private string _Dianqimingzi; public string Dianqimingzi { get { return _D ...
- 计数方法,博弈论(扫描线,树形SG):HDU 5299 Circles Game
There are n circles on a infinitely large table.With every two circle, either one contains another o ...
- [PeterDLax著泛函分析习题参考解答]第1章 线性空间
1. 证明定理 1. 2. 验证上述结论. 3. 证明定理 3. 4. 证明定理 4. 证明: 由 $$\bex x=\sum_{k=1}^{n-1}a_k\cdot \sum_{j=1}^{n-1} ...
- ExtJS练手
Ext.onReady(function () { //给grid添加数据源 var store = new Ext.data.JsonStore({ root: 'rows', totalPrope ...
- POJ 3186Treats for the Cows (区间DP)
详见代码 #include <stdio.h> #include <algorithm> #include <string.h> using namespace s ...
- Bzoj 1853: [Scoi2010]幸运数字 容斥原理,深搜
1853: [Scoi2010]幸运数字 Time Limit: 2 Sec Memory Limit: 64 MBSubmit: 1774 Solved: 644[Submit][Status] ...
- octopress Endless Error With Gem Dependencies
因为重装系统的缘故,需要重新搭建octopress环境,在执行到: bundle install 会出现一些这样的错误:An error occurred while installing timer ...
- opencv 中文文档地址
http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/tutorials.html
- 批量Linux 网络安装环境建立工具cobbler/kickstart
批量Linux 网络安装环境建立工具网络安装服务器套件: Cobbler(Red Hat 2008年发布的项目) Kickstart(Red Hat08年前项目,相关脚本令人望而却步,现 ...
- 【ImageMagick】ImageMagick命令行工具
[关于ImageMagick] [命令行工具] [源码安装] [二进位发布版本] [资源配置文件] [相关下载] ImageMagick命令行工具 [ convert | identify | mog ...