zoukankan      html  css  js  c++  java
  • MonoRail学习-入门实例篇

    MonoRail学习目录

    实例代码下载:/Files/maplye/MonoRailWeb.rar
    虽然已经有人写了这方面的文章,
    如:流腥鱼看.net 一个简单的MonoRail例子
    但是为了阅读的完整性,我还是重新边作了新的实例边写了这篇文章。

    本实例使用VS2003,实例如下:
    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实例");

      }


     }

    }


    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>

    7.配置iis,在iis中注册.rails的扩展名,查看 http://goodlyts.cnblogs.com/archive/2005/09/27/244686.html

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

    9.现在就可以访问http://localhost:8089/home/index.rails,页面就会出现相应的信息了。

  • 相关阅读:
    ubuntu配置apache支持sqlite数据库
    linux中的(),(()),[],[[]],{}的作用
    javascript问题积累
    羞愧的开始,成熟的开始,努力的开始
    asp发送邮件代码
    css&html的问题积累
    应用phpcms时遇到的问题及smarty标签的应用
    js正则积累
    产生一个int数组,长度为100,并向其中随机插入1100,并且不能重复。按照数组下标输出结果。
    不同项目之间的基础dll共用问题
  • 原文地址:https://www.cnblogs.com/chinatefl/p/1520092.html
Copyright © 2011-2022 走看看