`
kaka99
  • 浏览: 52116 次
  • 性别: Icon_minigender_1
  • 来自: AC
社区版块
存档分类
最新评论

MonoRail学习-介绍篇

阅读更多

刚刚结束了使用Castle MonoRail的一个项目,所以想将在项目中的一些片段大家一起共享一样.由于这是一个网站项目,所以使用Monorail,因为他使用MVC模式,能够很好的使得界面和代码分离,有助于网页设计人员和程序员协调工作.准备以下文章:
目录如下:
MonoRails介绍
MonoRails入门实例
MonoRails Layouts
MonoRails Component
MonoRails SkipFilter

MonoRails介绍
这方面的文章有很多了,推荐查看Yok博客上的文章
MonoRails介绍 http://yok.cnblogs.com/archive/2005/11/05/269383.html
MonoRail - 生命周期及controller/action/view详解  http://yok.cnblogs.com/archive/2005/11/07/abc.html
我就在这里简单总结一下:

MonoRail是经典的MVC模式,所以其中也具有三个元素Model,Controller,View,其中MonoRail是通过Url地址来解析相应的操作的,如当你访问:/home/index.rail,对应会执行HomeController类中的Index方法,而且可以自动绑定参数和Request的数据,如访问:/home/index.rail?id=1,你可以在HomeController类中的Index方法中定义一个参数id,则在Index(int id)方法体会自动的得到id=1.
MonoRail的界面通常使用NVelocity模板语言来定义.

介绍方面就不多说了,下一节我们来通过一个实例来体验一下.

实例代码下载:/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,页面就会出现相应的信息了。

分享到:
评论

相关推荐

    monorail项目-留言簿-GeustBook.rar

    《Monorail项目:留言簿系统详解》 Monorail项目是一个典型的Web应用程序开发实例,其核心部分是一个名为“留言簿”(GuestBook)的...通过理解和学习这个模块,开发者可以更好地掌握MVC架构的应用,提升Web开发能力。

    monorail项目-文件管理-MvcFileManage.rar

    《Monorail项目中的文件管理:MvcFileManage深入解析》 在软件开发中,文件管理是不可或缺的一部分,尤其是在Web应用程序中。Monorail项目,作为一个轻量级的.NET MVC框架,为开发者提供了一种高效、灵活的方式来...

    MonoRail例子(入门篇)

    在这个“入门篇”中,我们将深入探讨如何使用MonoRail构建一个简单的MVC应用程序。 首先,让我们理解MVC模式的基本概念: 1. Model:模型层是应用程序的核心,包含业务逻辑和数据。它处理数据的存储和检索,以及与...

    GOYELLO Silverlight/Monorail Library-开源

    "GOYELLO Silverlight / Monorail通信库是一个用于Monorail-Silverlight通信的.NET / Monorail / Silverlight项目。" 这段描述明确了该库的主要功能,即解决在基于.NET的Monorail Web应用与基于Silverlight的客户端...

    MonoRailSample.rar

    看了福娃的MonoRail学习-入门实例篇,蛮好的,不过就是在VS2005上执行有点问题,我把它稍微改动了一下。可以直接在VS2005中编译、执行了。 下载 :http://www.cnblogs.com/Files/firstyi/MonoRailSample.rar

    ShoppingCart-MonoRail.rar

    "ShoppingCart-MonoRail.rar"这个压缩包,包含了对MonoRail框架的一个经典实例——购物车应用,是我们深入了解和学习MonoRail的宝贵资源。 MonoRail是由Castle项目开发的一个轻量级的MVC(Model-View-Controller)...

    MonoRail基础学习文档和实例

    本资源包含“MonoRail基础学习文档”和“实例”,旨在帮助初学者快速入门并深入理解MonoRail的使用。 首先,让我们详细了解 MonoRail 的核心概念: 1. **Controller**:在MonoRail中,Controller是处理用户请求的...

    学习资料monorail

    然而,由于提供的信息较少,无法确定此处“学习资料monorail”具体指的是哪个方面,因此我将从Monorail的多个可能含义来展开讨论。 首先,如果Monorail是指一种编程框架,最知名的可能是 Castle Monorail,这是一个...

    monorail的小例子

    这个压缩包文件包含了一些关于Monorail的示例项目,可以帮助初学者了解和学习这个框架的工作原理。 首先,`MonoRail.sln`是Visual Studio的解决方案文件,其中包含了Monorail项目的组织结构和依赖关系。打开这个...

    Monorail PaginationHelper.CreateCustomPage 自定义分页

    以下是对该方法及其应用场景的详细介绍: 1. **参数解析**: - `null`: 数据源,这里使用`null`表示数据源将在后续步骤中动态生成。 - `pagesize`: 每页显示的数据条数,在示例代码中设置为4。 - `page`: 当前...

    MonoRail入门实例

    1. **MonoRail框架介绍** MonoRail是由Castle Project开发的,它借鉴了Ruby on Rails的设计哲学,旨在简化.NET平台上的Web开发流程。MonoRail强调模型-视图-控制器(MVC)架构,提供了一种与ASP.NET不同的开发方式...

    MonoRail+IBatisNet +Velocity

    下面将详细介绍这三个技术及其组合使用的要点。 **MonoRail** MonoRail是Castle Project的一部分,是一个轻量级的MVC(Model-View-Controller)框架,它为.NET开发者提供了类似Ruby on Rails的开发体验。MonoRail...

    monorail::monorail:单轨电车| 网络设计系统

    :monorail: 单轨| 网络设计系统Monorail for React帮助开发人员执行。 这些组件由SimSpace的工程师和UX设计师的核心团队开发,可实现可靠的开发工作流程,以构建美观且功能强大的Web项目。快速开始将Monorail添加到...

    MonoRail .net

    MonoRail .NET是一个开源的Web应用程序框架,设计用于替代ASP.NET,它提供了更灵活的开发模式和更高的可扩展性。 MonoRail这个名字来源于铁路系统中的单轨列车,寓意其为单一轨道上的应用程序框架,强调轻量级和高效...

    100% monorail bug description-crx插件

    【100% Monorail Bug Description - CRX 插件】是一款专为英语环境(美国)设计的浏览器扩展程序,其主要功能是优化错误描述的显示方式,确保错误信息可以完整、清晰地呈现于屏幕的100%比例上。这对于开发者来说尤其...

    monorail的过滤器

    Monorail是一个开源的Web应用程序框架,主要用于构建ASP.NET应用程序。在Monorail中,过滤器(Filter)是一个强大的机制,它允许开发者在特定的HTTP请求生命周期的不同阶段插入自定义的行为。过滤器在Web开发中扮演...

    MonoRail 上传文件 整合FCK

    MonoRail是.NET平台上的一款轻量级的Web应用框架,它为开发者提供了强大的MVC(Model-View-Controller)模式支持,旨在提供比ASP.NET更灵活、更可扩展的开发环境。在 MonoRail 中实现文件上传功能,特别是整合...

Global site tag (gtag.js) - Google Analytics