MonoRail - 前期准备(转)
2007-03-09 14:49
162 查看
引自Yok: http://www.cnblogs.com/Yok/archive/2005/11/05/rwe.html 是时候动手做实验了. Hello world的例子已经有人写过随笔了, 所以有重复的就粗略说一下算了. 模板引擎暂时只讨论nvelocity.
创建项目
创建一个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配置虚拟目录, 注册指定扩展名
MonoRail提供了懒人工具Generator.exe. generator project命令可生成项目, 文件夹以及已经配置好的web.config, generator controller可生成Controller的代码文件和对应的模板文件
让NVelocity支持中文
差点把这个忘了...默认NVelocity不支持中文, 只要在项目中添加名为nvelocity.properties的文件, 把文件的生成操作设为"嵌入的资源"并且在里面加上两行:
input.encoding=GB2312 //或其他支持中文的编码
output.encoding=GB2312
即可
优化编辑环境
在vs.net编辑nvelocity模板可不是所见即所得的, 一打开就一个白底黑字的文本编辑器. 右键点击一个.vm文件, 选择打开方式, 再选择HTML/XML编辑器, 再设为默认值, 即可享受xml语法高亮和自动闭合标记的功能.
要想更高级的享受, 就得靠别的工具了, 打开方式那里可以点击添加选择外部程序. FrontPage是一个很好的选择, 用了FrontPage之后, 它还不能辨认.vm是什么东西, 在FrontPage右键点击.vm文件, 选择打开方式/选择程序, 选择FrontPage (以HTML方式打开)即可用FrontPage去编辑. 这样就所见即所得编辑, 语法高亮, 语法提示统统都有了
, 至于设不设成默认就是个人喜好了.
[b]写个Hello World
[/b]别人写过, 我就不说了 :)
创建项目
创建一个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配置虚拟目录, 注册指定扩展名
MonoRail提供了懒人工具Generator.exe. generator project命令可生成项目, 文件夹以及已经配置好的web.config, generator controller可生成Controller的代码文件和对应的模板文件
让NVelocity支持中文
差点把这个忘了...默认NVelocity不支持中文, 只要在项目中添加名为nvelocity.properties的文件, 把文件的生成操作设为"嵌入的资源"并且在里面加上两行:
input.encoding=GB2312 //或其他支持中文的编码
output.encoding=GB2312
即可
优化编辑环境
在vs.net编辑nvelocity模板可不是所见即所得的, 一打开就一个白底黑字的文本编辑器. 右键点击一个.vm文件, 选择打开方式, 再选择HTML/XML编辑器, 再设为默认值, 即可享受xml语法高亮和自动闭合标记的功能.
要想更高级的享受, 就得靠别的工具了, 打开方式那里可以点击添加选择外部程序. FrontPage是一个很好的选择, 用了FrontPage之后, 它还不能辨认.vm是什么东西, 在FrontPage右键点击.vm文件, 选择打开方式/选择程序, 选择FrontPage (以HTML方式打开)即可用FrontPage去编辑. 这样就所见即所得编辑, 语法高亮, 语法提示统统都有了
, 至于设不设成默认就是个人喜好了.
[b]写个Hello World
[/b]别人写过, 我就不说了 :)
相关文章推荐
- MonoRail - 前期准备
- MonoRail - 前期准备
- 集成平台前期技术准备
- Pixhawk(PX4)之驱动详解篇(0)_前期准备(招贤令)
- 前期准备
- CSDN开源夏令营 基于Compiz的switcher插件设计与实现之前期准备 git的简单使用
- 前期准备之ubuntu10.10下安装skyeye
- Office2010升级前期准备(一)
- 《自动化测试修炼宝典》-第二章节-测试自动化的前期准备
- 【怎样写代码】偷窥高手 -- 反射技术(一):前期准备
- 大数据可视化第一天——前期准备
- 第一课 从零开始学Spring boot 之 前期准备
- Lync Server 2010的部署系列_第一章 前期环境检查准备
- 项目开发的前期准备(一)
- Android onInterceptTouchEvent()和onTouchEvent()例子和总结——Launcher前期准备