zoukankan      html  css  js  c++  java
  • ASP.NET的MVC框架 Castle MonoRail 学习(一)

            很喜欢使用.net 中的MVC框架,对于集中控制,模板语言的灵活性印象很深刻。最近准备系统的学习Monorail,到网上一搜,学习Monorail的资料还真的不少,在博客中开了这个分类权当做自己的学习笔记。我准备用Monorail搭建个三次框架,WebPage 做页面的展现(其实也可以反射几个基本的对象到页面,比如数据库的操作,在前台使用Nvelocity 加Ajax实现业务逻辑的部分,我在实际的项目经常这样使用,这样做有很多的灵活性),Web层实现业务逻辑和Controller,Data层可以考虑使用Nhibernate(暂时使用SqlHelper,以后可以考虑扩展)。
             我看过的学习资料
             永春阁的Monorail学习比较   http://www.cnblogs.com/firstyi/archive/2007/10/19/930691.html
             Qin的博客    http://www.cnblogs.com/zq535228/category/115327.html
            
             注意的要点:
             1.  配置文件

    <?xml version="1.0"?>

    <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>
             2.Controller 类
             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

           
  • 相关阅读:
    Python 多线程就这么简单
    Linux中使用SecureCRT上传、下载文件命令sz与rz用法实例
    LAMP第四部分 mysql相关
    LAMP第三部分php配置和mysql配置
    LAMP第二部分apache的配置
    LAMP第一部分安装mysql -apache -php
    LAMP总四部分
    用户和组管理
    系统操作命令
    2017网易---统计回文
  • 原文地址:https://www.cnblogs.com/ilahsa/p/1205177.html
Copyright © 2011-2022 走看看