1、C# MVC学习之NVelocity基本使用
小白一个,刚刚开始学,大神不要笑话。。。。。。
NVelocity是一个很容易上手的框架,从它开始学习,可以循序渐进
首先,创建空web应用程序,新建一般处理程序 Login2.ashx
然后,引入NVelocity,
c
创建Html 页面login.htm,实现登录框架
NVelocity语法是$开头
<html>
<head></head>
<body>
<strong><font color='green'>登录</font></strong>
<form action='Login2.ashx'>
<input type='text' name='username' value='$username'/>
<input type='password' name='password' value='$password' />
<input type='submit' value='登录'/>
</form>
<p>$msg</p>
</body>
</html>
编写Login2.ashx.cs页面,使用NVelocity处理请求
public class Login2 : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/html";
string username = context.Request["username"];
string password = context.Request["password"];
if (string.IsNullOrEmpty(username) && string.IsNullOrEmpty(password))
{
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("username", "");//设置参数,在模板中可以通过$data来引用
vltContext.Put("password", "");
vltContext.Put("msg", "");
Template vltTemplate = vltEngine.GetTemplate("login.htm");
System.IO.StringWriter vltWriter = new System.IO.StringWriter();
vltTemplate.Merge(vltContext, vltWriter); string html = vltWriter.GetStringBuilder().ToString();
context.Response.Write(html);
}
else
{
if (username == "admin" && password == "")
{
context.Response.Write("登录成功");
}
else
{
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("username", username);//设置参数,在模板中可以通过$data来引用
vltContext.Put("password", password);
vltContext.Put("msg", "用户名或者密码错误"); Template vltTemplate = vltEngine.GetTemplate("login.htm");
System.IO.StringWriter vltWriter = new System.IO.StringWriter();
vltTemplate.Merge(vltContext, vltWriter); string html = vltWriter.GetStringBuilder().ToString();
context.Response.Write(html);
}
}
} public bool IsReusable
{
get
{
return false;
}
}
NVelocity的强大之处不仅仅这些,它还可以对 对象的属性进行赋值,看下面的例子
<html><head></head><body>
$p.Name
<p>我的老爹是 $p.Father.Name,他的年龄是$p.Father.Age </p>
</body></html>
后台处理程序:
context.Response.ContentType = "text/html";
Person person = new Person();
person.Name = "张三";
person.Age = ;
Person dad = new Person();
dad.Name = "张三的爹";
dad.Age = ;
person.Father = dad;
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来引用
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);
代码下载地址:http://download.csdn.net/detail/murongqingsi/9156661
NVelocity下载地址:http://download.csdn.net/detail/murongqingsi/9156623
1、C# MVC学习之NVelocity基本使用的更多相关文章
- MVC学习系列4--@helper辅助方法和用户自定义HTML方法
在HTML Helper,帮助类的帮助下,我们可以动态的创建HTML控件.HTML帮助类是在视图中,用来呈现HTML内容的.HTML帮助类是一个方法,它返回的是string类型的值. HTML帮助类, ...
- Spring MVC 学习 -- 创建过程
Spring MVC 学习 -- 创建过程 Spring MVC我们使用的时候会在web.xml中配置 <servlet> <servlet-name>SpringMVC< ...
- 前端MVC学习总结——AngularJS验证、过滤器
前端MVC学习总结--AngularJS验证.过滤器 目录 一.验证 二.过滤器 2.1.内置过滤器 2.1.1.在模板中使用过滤器 2.1.2.在脚本中调用过滤函数 2.2.自定义过滤器 三.指令( ...
- 《Spring MVC学习指南》怎么样?答:书名具有很大的欺骗性
2016年6月21日 最近,因为工作需要,我从网上买了一本<Spring MVC学习指南>,ISBN编号: 978-7-115-38639-7,定价:49.00元.此书是[美]Paul D ...
- PHP实例开发(3)PHP中MVC学习之ThinkPHP
PHP中MVC学习之ThinkPHP 1.什么是MVC MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器.使用MVC的目的是将M和V的实现代码分离 MVC是一个设 ...
- Asp.net MVC 学习系列(一)序
题外话 公司本月开始提供早餐服务,2块天一餐,包括粥,两个包(听说是利口福供应的),一个鸡蛋.良心企业.公司原本有一个内部订餐系统,用Delphi开发的,开发的人早就走光了,也没有留下什么文档,现在项 ...
- MVC学习(四)几种分页的实现(3)
在这篇MVC学习(四)几种分页的实现(2)博文中,根据URL中传入的两个参数(页码数,首页.上一页.下一页.末页的标记符)来获得对应的分页数据, 只是传入的参数太多,调用起来不太方便(标记符不能够写错 ...
- ASP.NET MVC学习之Ajax(完结)
一.前言 通过上面的一番学习,大家一定收获不少.但是总归会有一个结束的时候,但是这个结束也意味着新的开始. 如果你是从事ASP.NET开发,并且也使用了第三方控件,那么一定会觉得ASP.NET开发aj ...
- ASP.NET MVC学习之视图篇(2)
继ASP.NET MVC学习之视图(1)学习 4.HTML辅助器 虽然在ASP.NET MVC中我们已经摆脱了ASP.NET的控件,但是对于页面中需要循环标签的情况依然还是存在,可能很多人认为用for ...
随机推荐
- 20169210《Linux内核原理与分析》第五周作业
本次内容分为两部分,第一部分是实验,第二部分是教材的第四章和第六章. 第一部分:实验 本次的实验内容是构造一个简单的Linux系统MenuOS,过程如下. 首先使用如下命令进入LinuxKernel ...
- ZBar只扫描二维码/条形码
You can add these codes for ImageScanner scanner.setConfig(0, Config.ENABLE, 0); //Disable all the S ...
- SSH服务
基于Linux的服务器有多个网卡,其中一个网卡连接了网线,通过该网线链接了个人PC.PC上启动Vmware虚拟机,启动ubuntu系统.然后设置PC的网络为自动获取IP,在PC的Linux的Ubunt ...
- Tomcat优化参数
JAVA_OPTS="-Xmx400m -Xms400m -XX:PermSize=128m -XX:MaxPermSize=400m -XX:+UseG1GC -XX:MaxGCPause ...
- Spring XD 1.1 M2 and 1.0.3 released---support kafka
官方地址:http://spring.io/blog/2014/12/23/spring-xd-1-1-m2-and-1-0-3-released On behalf of the Spring XD ...
- 5 Common Interview Mistakes that Could Cost You Your Dream Job (and How to Avoid Them)--ref
There have been many articles on our site on software testing interviews. That is because, we, as IT ...
- Tomcat的server.xml(中文版)
原文地址: http://www.blogjava.net/ranxiang/articles/23145.html <!-- Example Server Configuration File ...
- oracle授权另外一个用户访问自己创建的数据对象
oracle安装好之后,有一个默认的scott用户,该用户有一个默认的emp表,怎样让新创建的用户也能够访问这个表呢? 授权xiaoming这个用户访问emp表,但是xiaoming只有select权 ...
- 我的Shell + VIM配置
1. 安装powerline-shell 下载powerline-shell # cd /opt/ # git clone https://github.com/milkbikis/powerline ...
- Mybaitis配置总结
在mybatis-config.xml中配置分页插件,插件配置必须放在mapper前面 <plugins> <plugin interceptor="com.rrtong. ...