MonoRail入门实例(转)

本文档通过实例介绍如何使用 Castle MonoRail 框架搭建一个简单的 Web 应用程序。步骤包括下载安装文件、配置项目及视图、设置控制器、配置 web.config 文件等。此外还介绍了如何解决中文乱码问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本实例使用VS2003,实例如下:
1.到官方网站下载安装文件,地址如下:
http://www.castleproject.org/index.php/Castle:Download
目前最新版本Beta5

2.添加对
Castle.MonoRail.Framework.dll
Castle.MonoRail.Framework.Views.CompositeView.dll
Castle.MonoRail.Framework.Views.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
这是解决模板中中文乱码的问题

转载于:https://www.cnblogs.com/erik168/archive/2006/11/16/562280.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值