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方法,代码如下:

None.gif using  System;
None.gif
using  Castle.MonoRail.Framework;
None.gif
None.gif
namespace  MonoRailTest.controllers
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
ExpandedSubBlockStart.gifContractedSubBlock.gif 
/**//// <summary>
InBlock.gif 
/// HomeController 的摘要说明。
ExpandedSubBlockEnd.gif 
/// </summary>

InBlock.gif public class HomeController:Controller
ExpandedSubBlockStart.gifContractedSubBlock.gif 
dot.gif{
InBlock.gif  
public HomeController()
ExpandedSubBlockStart.gifContractedSubBlock.gif  
dot.gif{
InBlock.gif   
//
InBlock.gif   
// TODO: 在此处添加构造函数逻辑
InBlock.gif   
//
ExpandedSubBlockEnd.gif
  }

InBlock.gif
InBlock.gif  
public void Index()
ExpandedSubBlockStart.gifContractedSubBlock.gif  
dot.gif{
InBlock.gif   PropertyBag.Add(
"name""MonoRail实例");
InBlock.gif
ExpandedSubBlockEnd.gif  }

InBlock.gif
ExpandedSubBlockEnd.gif }

ExpandedBlockEnd.gif}

None.gif
None.gif

5.在Views目录下创建home目录下,并在home目录下创建index.vm文件,代码如下:
 显示信息:$name


6.配置web.config文件

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

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,页面就会出现相应的信息了。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值