惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Darknet – Hacking Tools, Hacker News & Cyber Security
V
Vulnerabilities – Threatpost
Cloudbric
Cloudbric
G
GRAHAM CLULEY
S
Securelist
Schneier on Security
Schneier on Security
Help Net Security
Help Net Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Project Zero
Project Zero
Spread Privacy
Spread Privacy
P
Privacy International News Feed
C
Cyber Attacks, Cyber Crime and Cyber Security
Cisco Talos Blog
Cisco Talos Blog
T
Tailwind CSS Blog
博客园_首页
有赞技术团队
有赞技术团队
Simon Willison's Weblog
Simon Willison's Weblog
Stack Overflow Blog
Stack Overflow Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Latest news
Latest news
T
Tor Project blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Attack and Defense Labs
Attack and Defense Labs
www.infosecurity-magazine.com
www.infosecurity-magazine.com
O
OpenAI News
J
Java Code Geeks
T
Tenable Blog
K
Kaspersky official blog
AWS News Blog
AWS News Blog
S
Security @ Cisco Blogs
The GitHub Blog
The GitHub Blog
T
Threatpost
月光博客
月光博客
H
Heimdal Security Blog
Security Latest
Security Latest
The Hacker News
The Hacker News
Y
Y Combinator Blog
A
Arctic Wolf
Apple Machine Learning Research
Apple Machine Learning Research
C
Cisco Blogs
美团技术团队
Microsoft Security Blog
Microsoft Security Blog
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
C
CERT Recently Published Vulnerability Notes
D
Docker
Google Online Security Blog
Google Online Security Blog
D
DataBreaches.Net
V
Visual Studio Blog
H
Help Net Security

博客园 - Yok

js动态代理 Hammett joined Microsoft 鼻炎无端端好了 罚抄100遍 Castle Team宣布Castle将与ASP.NET MVC整合 邪恶的webform MonoRail FAQ MonoRail资源汇总 招.net and/or javascript程序员(广州) javascript版贪食蛇 实现MonoRail页面缓存 Castle 1.0 rc2发布 招聘.net程序员(广州) javascript reference card 招聘.net程序员(广州) Ready To Rock 做了一回二五仔 - BEA广州User Group活动见闻 MonoRail - 生命周期及controller/action/view详解 MonoRail - 简介
MonoRail - 前期准备
Yok · 2005-11-05 · via 博客园 - Yok

是时候动手做实验了. Hello world的例子已经有人写过随笔了, 所以有重复的就粗略说一下算了. 模板引擎暂时只讨论nvelocity.

创建项目

Caslte的安装包带有MonoRail项目模板,直接通过模板创建即可。vs2005需要装两个补丁:
http://download.microsoft.com/download/6/3/c/63c69e5d-74c9-48ea-b905-30ac3831f288/VS80sp1-KB926601-X86-ENU.exe  
http://download.microsoft.com/download/9/0/6/906064ce-0bd1-4328-af40-49dca1aef87c/WebApplicationProjectSetup.msi

手动创建一个MonoRail项目需要以下步骤

1. 添加引用

Castle.MonoRail.Framework.dll
Castle.MonoRail.Framework.Views.NVelocity.dll
NVelocity.dll
log4net.dll
Commons.dll

2. 创建文件夹

建议如下结构
Controllers: 存放Controller的源码
Models: 存放Model的源码, 或者Model另外建一个项目也好
Views: 存放模板文件

3. 编写web.config

<configSections>
    
<!--定义section-->
    
<section name="monoRail"
                type
="Castle.MonoRail.Framework.Configuration.MonoRailSectionHandler, Castle.MonoRail.Framework" />
</configSections>
<monoRail>
    
<controllers>
        
<!--定义controller所在的assembly-->
        
<assembly>MonoRailTest</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>

4. 在iis配置虚拟目录, 注册指定扩展名

如果还要跟Windsor结合,实现事务管理,日志,NHibernate等特性,还是用项目模板的向导创建一个吧。。。

让NVelocity支持中文

差点把这个忘了...默认NVelocity不支持中文, 只要在项目中添加名为nvelocity.properties的文件, 把文件放在views根目录,生成操作设为"嵌入的资源"并且在里面加上两行:(谢谢Maplye 指正存放位置的问题)
input.encoding=GB2312 //或其他支持中文的编码
output.encoding=GB2312
即可

优化编辑环境

在vs2003编辑nvelocity模板可不是所见即所得的, 一打开就一个白底黑字的文本编辑器. 右键点击一个.vm文件, 选择打开方式, 再选择HTML/XML编辑器, 再设为默认值, 即可享受xml语法高亮和自动闭合标记的功能.
要想更高级的享受, 就得靠别的工具了, 打开方式那里可以点击添加选择外部程序. FrontPage是一个很好的选择, 用了FrontPage之后, 它还不能辨认.vm是什么东西, 在FrontPage右键点击.vm文件, 选择打开方式/选择程序, 选择FrontPage (以HTML方式打开)即可用FrontPage去编辑. 这样就所见即所得编辑, 语法高亮, 语法提示统统都有了, 至于设不设成默认就是个人喜好了.
 

在vs2005把vm的默认编辑器设成html编辑器就能凑合用了,比vs2003好用的多。最近还出了个vm编辑的插件,能正确高亮vtl标记但没有自动提示功能
http://using.castleproject.org/display/Contrib/Castle+Visual+Studio+Integration

写个Hello World

别人写过, 我就不说了 :)