在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
很喜欢使用.net 中的MVC框架,对于集中控制,模板语言的灵活性印象很深刻。最近准备系统的学习Monorail,到网上一搜,学习Monorail的资料还真的不少,在博客中开了这个分类权当做自己的学习笔记。我准备用Monorail搭建个三次框架,WebPage 做页面的展现(其实也可以反射几个基本的对象到页面,比如数据库的操作,在前台使用Nvelocity 加Ajax实现业务逻辑的部分,我在实际的项目经常这样使用,这样做有很多的灵活性),Web层实现业务逻辑和Controller,Data层可以考虑使用Nhibernate(暂时使用SqlHelper,以后可以考虑扩展)。
<?xml version="1.0"?> 2.Controller 类<configuration> <configSections> <section name="monoRail" type="Castle.MonoRail.Framework.Configuration.MonoRailSectionHandler, Castle.MonoRail.Framework"/> </configSections> <appSettings/> <connectionStrings/> <!--如果要使用Castle的IOC,则为--> <!--<monoRail useWindsorIntegration="true"> --> <monoRail> <controllers> <!--定义controller所在的assembly--> <assembly>MyMonorail.Controller</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> <compilation debug="true"/> </system.web> </configuration> public class HomeaController : Castle.MonoRail.Framework.Controller 类名字HomeaController homea 对应与web页面下的homea 文件夹。 3.方法 public void Indexa() 方法的名字 Indexa 与homea文件夹下的模板名字相同 indexa.vm 4.views 下的nvelocity.properties 文件很重要,默认情况下Nvelocity是不支持中文的,加上这个文件防止中文乱码。 Demo下载地址:https://files.cnblogs.com/ilahsa/monorail1_nvelocity.rar |
请发表评论