MonoRail学习-入门实例篇

1.到官方网站下载安装文件,地址如下:

http://www.castleproject.org/index.php/Castle:Download
目前最新版本Beta5
(您也可以不需要下载,直接使用实例代码中lib中的dll)

2.添加对
Castle.MonoRail.Framework.dll
Castle.MonoRail.Framework.Views.CompositeView.dll
Castle.MonoRail.Framework.Views.NVelocity.dll
NVelocity.dll
的引用。
若你没有下载和安装Castle,在我的实例代码的lib中有这些dll的文件

3.创建一个Web项目,并在其下创建views和controllers目录
4.在controllers目录下创建HomeController.cs,并创建Index方法,代码如下:

using System;
using Castle.MonoRail.Framework;

namespace MonoRailTest.controllers
{
 /// <summary>
 /// HomeController 的摘要说明。
 /// </summary>
 public class HomeController:Controller
 {
  public HomeController()
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
  }

  public void Index()
  {
   PropertyBag.Add("name", "MonoRail实例");

  }

 }
}
View Code

 

5.在Views目录下创建home目录下,并在home目录下创建index.vm文件,代码如下:

 显示信息:$name


6.配置web.config文件

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
  <section name="monoRail" type="Castle.MonoRail.Framework.Configuration.MonoRailSectionHandler, Castle.MonoRail.Framework" />
 </configSections>
 <!--如果要使用Castle的IOC,则为-->
 <!--<monoRail  useWindsorIntegration="true"> -->
 <monoRail> 
  <controllers> 
   <!--定义controller所在的assembly--> 
   <assembly>MonoRailWeb</assembly> 
  </controllers> 
  <viewEngine  
   viewPathRoot="Views"  
   customEngine="Castle.MonoRail.Framework.Views.NVelocity.NVelocityViewEngine, Castle.MonoRail.Framework.Views.NVelocity" /> 
 </monoRail> 
 <system.web>
  <httpHandlers> 
  <!--定义httpHandler, 让MonoRailHttpHandlerFactory接管指定扩展名的url--> 
  <add verb="*" path="*.rails"  
   type="Castle.MonoRail.Framework.MonoRailHttpHandlerFactory, Castle.MonoRail.Framework" /> 
  <!-- 阻止模板文件被下载 --> 
  <add verb="*" path="*.vm" type="System.Web.HttpForbiddenHandler" /> 
 </httpHandlers>
 </system.web>

</configuration>
View Code

7.配置iis,在iis中注册.rails的扩展名

要在IIS里面映射.rails的扩展名文件到aspnet_isapi.dll 里面

 
然后在"映射"的标签下面点击"添加"按钮,

在可执行文件那里选择aspnet_isapi.dll的路径(eg.C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll)
然后在扩展名中填写".rails",最后记得把"检查文件是否存在"前面的勾去掉,最后当我们要点击.


8.在Views目录下创建nvelocity.properties文件,内容如下:
input.encoding=GB2312
output.encoding=GB2312
这是解决模板中中文乱码的问题

 

 

 

转载于:https://www.cnblogs.com/B-bowen/p/3837768.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值