zoukankan      html  css  js  c++  java
  • 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:WINDOWSMicrosoft.NETFrameworkv1.1.4322aspnet_isapi.dll)
    然后在扩展名中填写".rails",最后记得把"检查文件是否存在"前面的勾去掉,最后当我们要点击.


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

     
  • 相关阅读:
    洛谷 P3384 【模板】树链剖分
    codevs 4633 [Mz]树链剖分练习
    看一个人的回答有感(怎么判断数组中有没有未定义的值,如:[,,1,,3])
    bzoj2754: [SCOI2012]喵星球上的点名
    bzoj4456: [Zjoi2016]旅行者
    bzoj4574:Zjoi2016线段树 dp
    bzoj4455: [Zjoi2016]小星星
    bzoj4516: [Sdoi2016]生成魔咒
    uoj#207. 共价大爷游长沙
    bzoj4530:[Bjoi2014]大融合
  • 原文地址:https://www.cnblogs.com/B-bowen/p/3837768.html
Copyright © 2011-2022 走看看