<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>wlbookwl</title>
    <description></description>
    <link>http://wlbookwl.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>J2EE开发之常用开源项目介绍</title>
        <author>wlbookwl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wlbookwl.javaeye.com">wlbookwl</a>&nbsp;
          链接：<a href="http://wlbookwl.javaeye.com/blog/109711" style="color:red;">http://wlbookwl.javaeye.com/blog/109711</a>&nbsp;
          发表时间: 2007年08月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><font size="3" face="Arial"><font style="BACKGROUND-COLOR: #ffcc00">&nbsp;J2EE开发之常用开源项目介绍</font> <br />
&nbsp;<br />
主要就我所了解的J2EE开发的框架或开源项目做个介绍,可以根据需求选用适当的开源组件进行开发.主要还是以Spring为核心,也总结了一些以前web开发常用的开源工具和开源类库<br />
&nbsp;<br />
<font color="#ff9900" style="BACKGROUND-COLOR: #99cc00"><strong>1持久层:</strong></font><br />
<strong>1)Hibernate</strong><br />
这个不用介绍了,用的很频繁,用的比较多的是映射,包括继承映射和父子表映射<br />
对于DAO在这里介绍个在它基础上开发的包bba96,目前最新版本是bba96 2.0它对Hibernate进行了封装, 查询功能包括执行hsql或者sql查询/更新的方法，如果你要多层次逻辑的条件查询可以自己组装QueryObject.可以参考它做HibernateDAO.也可以直接利用它<br />
<strong>2) iBATIS</strong><br />
另一个ORM工具,Apache的,没有Hibernate那么集成,自由度比较大</font></p>
<font size="3" face="Arial">
<p><br />
<strong><font color="#ff9900" style="BACKGROUND-COLOR: #99cc00">2:SpringMVC</font></strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 原理说明和快速入门:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 配置文件为:<br />
Spring的配置文件默认为WEB-INF/xxxx-servelet.xm其中xxx为web.xml中org.springframework.web.servlet.DispatcherServlet的servlet-name。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Action分发:<br />
Spring将按照配置文件定义的URL，Mapping到具体Controller类，再根据URL里的action= xxx或其他参数，利用反射调用Controller里对应的Action方法。<br />
输入数据绑定:<br />
Spring提供Binder 通过名字的一一对应反射绑定Pojo，也可以直接从request.getParameter()取数据。<br />
输入数据验证<br />
Sping 提供了Validator接口当然还可以使用开源的Commons-Validaor支持最好<br />
Interceptor(拦截器)<br />
Spring的拦截器提供接口需要自己编写,在这点不如WebWork做的好.全面 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (这里提一下WebWork和Struts的区别最主要的区别在于WebWork在建立一个Action时是新New一个对象而Struts是SingleMoule所有的都继承它的一个Action,所以根据项目需要合适的选择.)</p>
<p><br />
<strong><font color="#ff9900" style="BACKGROUND-COLOR: #99cc00">3:View层</font></strong><br />
<strong>1) 标签库:JSP2.0/JSTL</strong><br />
由于Webwork或Spring的标签确实很有限,一般view层用JSTL标签,而且据说JSTL设计很好速度是所有标签中最快的使用起来也很简单<br />
&nbsp;<br />
<strong>2) 富客户端:DOJO Widgets, YUI(YahooUI),FCKEditor, Coolest日历控件</strong><br />
Dojo主要提供Tree, Tab等富客户端控件,可以用其进行辅助客户端开发<br />
YahooUI和DOJO一样它有自己的一套javascript调试控制台,主要支持ajax开发也有很多Tree,Table,Menu等富客户端控件<br />
FCKEditor 最流行的文本编辑器<br />
Coolest日历控件 目前很多日历控件可用,集成在项目中也比较简单,这个只是其中的一个,界面不错的说..<br />
&nbsp;<br />
<strong>3) JavaScript:Prototype.js</strong><br />
Prototype.js作为javascript的成功的开源框架，封装了很多好用的功能,通过它很容易编写AJAX应用,现在AJAX技术逐渐成熟,框架资源比较丰富,比如YUI,DWR等等,也是因为JavaScript没有合适的调试工具,所以没有必要从零开始编写AJAX应用,个人认为多用一些成熟的Ajax框架实现无刷新更新页面是不错的选择.<br />
&nbsp;<br />
<strong>4)表格控件:Display Tag ,Extreme Table</strong><br />
这两个的功能差不多,都是View层表格的生成,界面也比较相向,可以导出Excel,Pdf,对Spring支持很容易.<br />
相比较而言比较推荐ExtremeTable,它的设计很好功能上比DisplayTag多一些,支持Ajax,封装了一些拦截器,而且最方面的是在主页wiki中有详细的中文使用文档.<br />
&nbsp;<br />
<strong>5):OSCache</strong><br />
OSCache是OpenSymphony组织提供的一个J2EE架构中Web应用层的缓存技术实现组件,Cache是一种用于提高系统响应速度、改善系统运行性能的技术。尤其是在Web应用中，通过缓存页面的输出结果，可以很显著的改善系统的稳定性和运行性能。<br />
它主要用在处理短时间或一定时间内一些数据或页面不会发生变化,或将一些不变的统计报表,缓冲在内存,可以充分的减轻服务器的压力,防治负载平衡,快速重启服务器(通过硬盘缓存).<br />
&nbsp;<br />
<strong>6)SiteMesh</strong><br />
sitemesh应用Decorator模式主要用于提高页面的可维护性和复用性，其原理是用Filter截取request和response,把页面组件head,content,banner结合为一个完整的视图。通常我们都是用include标签在每个jsp页面中来不断的包含各种header, stylesheet, scripts and footer，现在，在sitemesh的帮助下，我们删掉他们轻松达到复合视图模式.<br />
Sitemesh也是 OpenSymphony的一个项目现在最近的版本是2.2,目前OpenSymphony自从04年就没有更新的版本了..感觉它还是比较有创新的一种页面组装方式, OpenSymphony开源组织的代码一般写的比较漂亮,可以改其源代码对自己的项目进行适配.<br />
测试发现Sitemesh还存在一些问题,比如中文问题,它的默认编码是iso-8859-1在使用时候需要做一些改动.<br />
&nbsp;<br />
<strong>7)CSS,XHTML</strong><br />
这个不用说了,遵循W3C标准的web页面开发.<br />
<strong>&nbsp;<br />
8)分页标签: pager-taglib组件</strong><br />
Pager-taglib 是一套分页标签库，可以灵活地实现多种不同风格的分页导航页面，并且可以很好的与服务器分页逻辑分离.使用起来也比较简单.<br />
<strong>&nbsp;<br />
9)Form: Jodd Form taglib</strong><br />
Jodd Form taglib使用比较简单,只要把form的头尾以<jodd:form bean="mybean">包住<br />
就会自动绑定mybean, 自动绑定mybean的所有同名属性到普通html标记input, selectbox, checkbox,radiobox.....在这些input框里不用再写任何代码&hellip;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
<strong>10)Ajax:DWR</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; J2EE应用最常用的ajax框架<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
<strong>11)报表 图表</strong><br />
Eclipse BIRT功能比较强大,也很庞大..好几十M,一般没有特别需求或别的图表设计软件可以解决的不用它<br />
JasperReports+ iReport是一个基于Java的开源报表工具，它可以在Java环境下像其它IDE报表工具一样来制作报表。JasperReports支持PDF、HTML、XLS、CSV和XML文件输出格式。JasperReports是当前Java开发者最常用的报表工具。<br />
JFreeChart主要是用来制作各种各样的图表，这些图表包括：饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 琴棋报表,国产的..重点推荐,适合中国的情况,开放源代码，使用完全免费。纯JAVA开发，适用多种系统平台。特别适合B/S结构的系统。官方网站有其优点介绍,看来用它还是不错的选择,最重要的是支持国产呵呵<br />
&nbsp;<br />
<strong><font color="#ff9900" style="BACKGROUND-COLOR: #99cc00">4:权限控制: Acegi</font></strong><br />
Acegi是Spring Framework 下最成熟的安全系统，它提供了强大灵活的企业级安全服务，如完善的认证和授权机制，Http资源访问控制，Method 调用访问控制等等,支持CAS<br />
(耶鲁大学的单点登陆技术,这个单点登陆方案比较出名.我也进行过配置使用,可以根据项目需要,如果用户分布在不同的地方不同的系统通用一套登陆口令可以用它进行解决,一般注册机登陆机就是这样解决的)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Acegi只是于Spring结合最好的安全框架,功能比较强大,当然还有一些其他的安全框架,这里列举一些比较流行的是我从网上找到的,使用方法看其官方文档把&hellip;<br />
JAAS, Seraph, jSai - Servlet Security, Gabriel, JOSSO, Kasai, jPAM, OpenSAML都是些安全控制的框架..真够多的呵呵<br />
&nbsp;<br />
<font color="#ff9900" style="BACKGROUND-COLOR: #99cc00"><strong>5:全文检索</strong></font><br />
<strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1) Lucene</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Lucene是一套全文索引接口,可以通过它将数据进行倒排文件处理加入索引文件,它的索引速度和查询速度是相当快的,查询百万级数据毫秒级出结果,现在最火的Apache开源项目,版本更新速度很快现在已经到了2.0,每个版本更新的都比较大,目前用的最多的版本应该是1.4.3,但它有个不太方面的地方单个索引文件有2G文件限制,现在2.0版本没有这个限制,我研究的比较多,它的扩展性比较好,可以很方面的扩充其分词接口和查询接口.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 基于它的开发的系统很多,比如最常用的Eclipse的搜索功能,还有一些开源的软件比如Compass,Nutch,Lius,还有我最近做的InSearch(企业级FTP文件网页搜索)
<form>
</form>
</jodd:form></p>
<p><br />
<font color="#ff9900" style="BACKGROUND-COLOR: #99cc00"><strong>6:公共Util类</strong></font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 主要是Jakarta-Commons类库,其中最常用得是以下几个类库<br />
<strong>1) Jakarta-Commons-Language</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最常用得类是StringUtils类,提供了使用的字符串处理的常用方法效率比较高<br />
<strong>2) Jakarta-Commons-Beantuils</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 主要用Beantuils能够获得反射函数封装及对嵌套属性，map,array型属性的读取。<br />
<strong>3) Jakarta-Commons-Collections</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 里面有很多Utils方法<br />
&nbsp;<br />
<font color="#ff9900" style="BACKGROUND-COLOR: #99cc00"><strong>7 日志管理</strong></font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Log4J<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 任务是日志记录,分为Info,Warn,error几个层次可以更好的调试程序<br />
&nbsp;<br />
<font color="#ff9900" style="BACKGROUND-COLOR: #99cc00"><strong>8 开源的J2EE框架</strong></font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>1) Appfuse</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Appfuse是Matt Raible 开发的一个指导性的入门级J2EE框架, 它对如何集成流行的Spring、Hibernate、iBatis、Struts、Xdcolet、JUnit等基础框架给出了示范. 在持久层，AppFuse采用了Hibernate O/R映射工具；在容器方面，它采用了Spring,用户可以自由选择Struts、Spring/MVC，Webwork，JSF这几个Web框架。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>2) SpringSide<br />
</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .SpringSide较完整的演示了企业应用的各个方面,是一个电子商务网站的应用 SpringSide也大量参考了Appfuse中的优秀经验。最重要的是它是国内的一个开源项目,可以了解到国内现在的一些实际技术动态和方向很有指导意义&hellip;<br />
&nbsp;<br />
<font color="#ff9900" style="BACKGROUND-COLOR: #99cc00"><strong>9:模版 Template</strong></font> <br />
主要有Veloctiy和Freemarker<br />
模板用Servlet提供的数据动态地生成 HTML。编译器速度快，输出接近静态HTML&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 页面的速度。<br />
<font color="#ff9900">&nbsp;<br />
</font><font color="#003366" style="BACKGROUND-COLOR: #99cc00"><strong><font color="#ff9900">10:工作流</font><br />
</strong></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我所知道比较出名的主要有JBpm Shark Osworkflow,由于对它没有过多的研究所以还不是很清楚之间有什么区别.<br />
&nbsp;<br />
项目管理软件<br />
dotProject:是一个基于LAMP的开源项目管理软件。最出名的项目管理软件<br />
JIRA: 项目计划，任务安排，错误管理<br />
Bugzilla:提交和管理bug,和eclipse集成,可以通过安装MyEclipse配置一下即可使用<br />
BugFree借鉴微软公司软件研发理念、免费开放源代码、基于Web的精简版Bug管理<br />
CVS:这个就不介绍了都在用.<br />
SVN: SubVersion已逐渐超越CVS，更适应于JavaEE的项目。Apache用了它很久后，Sourceforge刚刚推出SVN的支持。<br />
测试用例:主要JUnit单元测试,编写TestCase,Spring也对Junit做了很好的支持<br />
&nbsp;<br />
<strong><font color="#99cc00"><font style="BACKGROUND-COLOR: #ffcc00">后记:</font><br />
</font></strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 以Spring为主的应用开发可选用的组件中间件真是眼花缭乱,所以针对不同的项目需求可以利用不同的开源产品解决,比如用Spring+Hibernate/ iBATIS或Spring+WebWork+Hibernate/ iBATIS或Spring+Struts+Hibernate/ iBATIS,合理的框架设计和代码复用设计对项目开发效率和程序性能有很大的提高,也有利于后期的维护.</p>
<p>&nbsp;</p>
</font>
          <br/>
          <span style="color:red;">
            <a href="http://wlbookwl.javaeye.com/blog/109711#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 07 Aug 2007 13:54:46 +0800</pubDate>
        <link>http://wlbookwl.javaeye.com/blog/109711</link>
        <guid>http://wlbookwl.javaeye.com/blog/109711</guid>
      </item>
      <item>
        <title>resin2.1.7 下使用dwr有乱码</title>
        <author>wlbookwl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wlbookwl.javaeye.com">wlbookwl</a>&nbsp;
          链接：<a href="http://wlbookwl.javaeye.com/blog/101680" style="color:red;">http://wlbookwl.javaeye.com/blog/101680</a>&nbsp;
          发表时间: 2007年07月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在resin2.1.7中如下代码strHtml返回的是iso8859-1编码，使用dwr版本1.1.4 及2.0.1都测试过，都有乱码。<br /><br /><pre name="code" class="java">String strHtml = WebContextFactory.get().forwardToString(url);</pre><br /><br />很奇怪，在tomcat5.5及resin3.1.1下使用dwr1.1.4及dwr2.0.1就没有任何乱码。<br /><br /><br />没办法，估计是resin2.1.7的bug，所以只能手工转码如下。<br /><pre name="code" class="java">

String strHtml = WebContextFactory.get().forwardToString(url);
if (strHtml != null) {
 strHtml = new String(strHtml.getBytes("iso8859-1"),"GBK");
}

</pre><br /><br />搜索google及baidu没有发现与我相同的问题，估计是现在很少人使用resin2.1.7了，不过为了兼容以前的项目只能使用下去了。
          <br/>
          <span style="color:red;">
            <a href="http://wlbookwl.javaeye.com/blog/101680#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 17 Jul 2007 00:21:51 +0800</pubDate>
        <link>http://wlbookwl.javaeye.com/blog/101680</link>
        <guid>http://wlbookwl.javaeye.com/blog/101680</guid>
      </item>
      <item>
        <title>解惑服务器性能</title>
        <author>wlbookwl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wlbookwl.javaeye.com">wlbookwl</a>&nbsp;
          链接：<a href="http://wlbookwl.javaeye.com/blog/82959" style="color:red;">http://wlbookwl.javaeye.com/blog/82959</a>&nbsp;
          发表时间: 2007年05月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          关系服务器性能的方面很多，对与一个b/s程序来说，一般来说服务器端由web app server和db server构成当然为了提高性能，当然集群是对硬件的投入。首先我们从web app server 的代码及来分析一下。<br /><br />到底怎样才能优化产品的性能呢？就是找到性能的瓶颈，其实性能的瓶颈有个特点，就是被执行次数最多的那个，比如一个操作运行耗时2分钟，当一天要运行一次，那么不用理会他，要是一个操作运行要耗时2秒钟，但一天要运行上千亿次，那你要小心了。<br /><br />如何才能知道系统中的哪些代码被执行的次数最多呢？有很多工具可以，有的是挂到系统上一起运行，有的是可以单独运行，但是我推荐的方法就是使用单元测试工具和代码覆盖工具，运行所有的单元测试，查看代码覆盖报告中被执行的次数最多的那些语句，看看他们是否可以被优化，或者可以被减少执行的次数，推荐用的代码测试工具和覆盖工具：Hansel和JUnit framework 结合使用。
          <br/>
          <span style="color:red;">
            <a href="http://wlbookwl.javaeye.com/blog/82959#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 25 May 2007 11:54:00 +0800</pubDate>
        <link>http://wlbookwl.javaeye.com/blog/82959</link>
        <guid>http://wlbookwl.javaeye.com/blog/82959</guid>
      </item>
      <item>
        <title>同学聚会</title>
        <author>wlbookwl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wlbookwl.javaeye.com">wlbookwl</a>&nbsp;
          链接：<a href="http://wlbookwl.javaeye.com/blog/73814" style="color:red;">http://wlbookwl.javaeye.com/blog/73814</a>&nbsp;
          发表时间: 2007年04月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          2007-1-13 快一年没有和同学聚一聚了，今天的聚会是由宋笑言组织的，地点在金州大厦醉乡楼自助火锅。时间：中午11:30。<br /><br />宋笑言请客，在金州大厦二层醉乡楼吃完板后照的同学集体照<br /><br />上传几张照片。
          <br/>
          <span style="color:red;">
            <a href="http://wlbookwl.javaeye.com/blog/73814#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 24 Apr 2007 12:10:51 +0800</pubDate>
        <link>http://wlbookwl.javaeye.com/blog/73814</link>
        <guid>http://wlbookwl.javaeye.com/blog/73814</guid>
      </item>
      <item>
        <title>读人月神话思维导图（不完整）</title>
        <author>wlbookwl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wlbookwl.javaeye.com">wlbookwl</a>&nbsp;
          链接：<a href="http://wlbookwl.javaeye.com/blog/49360" style="color:red;">http://wlbookwl.javaeye.com/blog/49360</a>&nbsp;
          发表时间: 2007年01月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          读人月神话思维导图（不完整）
          <br/>
          <span style="color:red;">
            <a href="http://wlbookwl.javaeye.com/blog/49360#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 23 Jan 2007 09:00:27 +0800</pubDate>
        <link>http://wlbookwl.javaeye.com/blog/49360</link>
        <guid>http://wlbookwl.javaeye.com/blog/49360</guid>
      </item>
      <item>
        <title>Rails测试框架[思维导图]</title>
        <author>wlbookwl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wlbookwl.javaeye.com">wlbookwl</a>&nbsp;
          链接：<a href="http://wlbookwl.javaeye.com/blog/39479" style="color:red;">http://wlbookwl.javaeye.com/blog/39479</a>&nbsp;
          发表时间: 2006年12月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="font-size: 12pt">周日看了一下Rails的测试框架，用<a href="http://www.mindjet.com/" target="_blank">MindManager</a>做的思维导图学习笔记。</span><br /><br /><span style="color: darkblue">思维导图是什么？</span><pre name="code" class="java">
    思维导图是一种革命性的思维工具。简单却又极其有效！

    英国著名心理学家东尼·博赞在研究大脑的力量和潜能过程中，发现伟大的艺术家达·芬奇在他的笔记中使用了许多图画、代号和连线。他意识到，这正是达芬奇拥有超级头脑的秘密所在。在此基础上，博赞于19世纪60年代发明了思维导图这一风靡世界的思维工具。
　　思维导图就是一幅幅帮助你了解并掌握大脑工作原理的使用说明书。它能够：

1、增强使用者的超强记忆能力

2、增强使用者的立体思维能力（思维的层次性与联想性）

3、增强使用者的总体规划能力 

为什么思维导图功效如此强大？道理其实很简单。
　　首先，它基于对人脑的模拟，它的整个画面正像一个人大脑的结构图（分布着许多“沟”与“回”）；
　　其次，这种模拟突出了思维内容的重心和层次；
　　第三，这种模拟强化了联想功能，正像大脑细胞之间无限丰富的连接；
　　第四，人脑对图像的加工记忆能力大约是文字的1000倍。
让你更有效地把信息放进你的大脑，或是把信息从你的大脑中取出来，一幅思维导图是最简单的方法——这就是作为一种思维工具的思维导图所要做的工作。
　　它是一种创造性的和有效的记笔记的方法，能够用文字将你的想法“画出来”。
　　所有的思维导图都有一些共同之处：它们都使用颜色；它们都有从中心发散出来的自然结构；它们都使用线条，符号，词汇和图像，遵循一套简单、基本、自然、易被大脑接受的规则。
　　使用思维导图，可以把一长串枯燥的信息变成彩色的、容易记忆的、有高度组织性的图画，它与我们大脑处理事物的自然方式相吻合。


</pre><br />思维导图相关连接：<a href="http://mindmap.fltrp.com/index.htm" target="_blank">http://mindmap.fltrp.com/index.htm</a>
          <br/>
          <span style="color:red;">
            <a href="http://wlbookwl.javaeye.com/blog/39479#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 17 Dec 2006 22:15:42 +0800</pubDate>
        <link>http://wlbookwl.javaeye.com/blog/39479</link>
        <guid>http://wlbookwl.javaeye.com/blog/39479</guid>
      </item>
      <item>
        <title>能看得懂这张图片吗？</title>
        <author>wlbookwl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wlbookwl.javaeye.com">wlbookwl</a>&nbsp;
          链接：<a href="http://wlbookwl.javaeye.com/blog/39111" style="color:red;">http://wlbookwl.javaeye.com/blog/39111</a>&nbsp;
          发表时间: 2006年12月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <img src="http://www.cc2e.com.cn/books.jpg" />
          <br/>
          <span style="color:red;">
            <a href="http://wlbookwl.javaeye.com/blog/39111#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 14 Dec 2006 23:17:04 +0800</pubDate>
        <link>http://wlbookwl.javaeye.com/blog/39111</link>
        <guid>http://wlbookwl.javaeye.com/blog/39111</guid>
      </item>
      <item>
        <title>跨越边界: Rails 迁移 REST </title>
        <author>wlbookwl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wlbookwl.javaeye.com">wlbookwl</a>&nbsp;
          链接：<a href="http://wlbookwl.javaeye.com/blog/39069" style="color:red;">http://wlbookwl.javaeye.com/blog/39069</a>&nbsp;
          发表时间: 2006年12月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="font-size: 11pt">跨越边界: Rails 迁移<br />Ruby on Rails 是不断发展的 Web 开发框架，它实现了一些先进的想法，例如通过配置进行约定、大量的元编程、特定于域的语言以及用数据库包装代替对象关系映射。这篇文章研究的 Rails 模式迁移是一种把每个数据库的模式变化与基本对象模型分离的思想。<br /><br />全文链接:<br /><a href="http://www-128.ibm.com/developerworks/cn/java/j-cb08016/index.html" target="_blank">http://www-128.ibm.com/developerworks/cn/java/j-cb08016/index.html</a><br /><br />相关文章更多参考：<br /><a href="http://www-128.ibm.com/developerworks/cn/views/java/articles.jsp?view_by=search&search_by=%E8%B7%A8%E8%B6%8A%E8%BE%B9%E7%95%8C" target="_blank">http://www-128.ibm.com/developerworks/cn/views/java/articles.jsp?view_by=search&search_by=%E8%B7%A8%E8%B6%8A%E8%BE%B9%E7%95%8C</a><br /><br /></span>
          <br/>
          <span style="color:red;">
            <a href="http://wlbookwl.javaeye.com/blog/39069#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 14 Dec 2006 18:00:40 +0800</pubDate>
        <link>http://wlbookwl.javaeye.com/blog/39069</link>
        <guid>http://wlbookwl.javaeye.com/blog/39069</guid>
      </item>
      <item>
        <title>为什么上传不了附件？服务器的心脏坏掉了？？</title>
        <author>wlbookwl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wlbookwl.javaeye.com">wlbookwl</a>&nbsp;
          链接：<a href="http://wlbookwl.javaeye.com/blog/38975" style="color:red;">http://wlbookwl.javaeye.com/blog/38975</a>&nbsp;
          发表时间: 2006年12月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="font-size: 12pt">附件才900K，一上传附件就说心脏坏了，要治治了吧？<br /><br />难道是医疗改革改的?看不起病呢？ <img src="/images/smiles/icon_biggrin.gif"/>早治早好！谢谢！</span>
          <br/>
          <span style="color:red;">
            <a href="http://wlbookwl.javaeye.com/blog/38975#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 14 Dec 2006 10:51:43 +0800</pubDate>
        <link>http://wlbookwl.javaeye.com/blog/38975</link>
        <guid>http://wlbookwl.javaeye.com/blog/38975</guid>
      </item>
      <item>
        <title>在线帮助手册大全 http://www.gotapi.com/</title>
        <author>wlbookwl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wlbookwl.javaeye.com">wlbookwl</a>&nbsp;
          链接：<a href="http://wlbookwl.javaeye.com/blog/38510" style="color:red;">http://wlbookwl.javaeye.com/blog/38510</a>&nbsp;
          发表时间: 2006年12月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="font-size: 11pt"><br />无意间看到这个<a href="http://www.gotapi.com/" target="_blank">http://www.gotapi.com/</a>网站，非常不错，有Ruby / Rails / Java / html /javascript /Prototype.JS / c++ / Dhtml / hibernate /spring等等的在线手册，可以自定义添加。使用非常方便。</span>
          <br/>
          <span style="color:red;">
            <a href="http://wlbookwl.javaeye.com/blog/38510#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 11 Dec 2006 14:05:25 +0800</pubDate>
        <link>http://wlbookwl.javaeye.com/blog/38510</link>
        <guid>http://wlbookwl.javaeye.com/blog/38510</guid>
      </item>
      <item>
        <title>rb文件中写入中文字符问题！</title>
        <author>wlbookwl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wlbookwl.javaeye.com">wlbookwl</a>&nbsp;
          链接：<a href="http://wlbookwl.javaeye.com/blog/38505" style="color:red;">http://wlbookwl.javaeye.com/blog/38505</a>&nbsp;
          发表时间: 2006年12月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          最新发现ruby源代码文件(*.rb)中，不能写入中文，如果文件中有中文字符就会报错，导致运行不了，但可以将rb文件改成UTF8格式来解决，另存一下，就可以了。<br /><br />不过，这时如果将这个UTF8文件中的中文字符删掉，同样运行不了报错，也就是如果文件中有中文字符必须设置为UTF8格式，如果没有必须设置为Ansi格式，否则会导致出错。<br /><br />同样的问题在Java中就没事，看来ruby解释器还不太完善，
          <br/>
          <span style="color:red;">
            <a href="http://wlbookwl.javaeye.com/blog/38505#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 11 Dec 2006 13:46:17 +0800</pubDate>
        <link>http://wlbookwl.javaeye.com/blog/38505</link>
        <guid>http://wlbookwl.javaeye.com/blog/38505</guid>
      </item>
      <item>
        <title>使用rails组件机制</title>
        <author>wlbookwl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wlbookwl.javaeye.com">wlbookwl</a>&nbsp;
          链接：<a href="http://wlbookwl.javaeye.com/blog/38293" style="color:red;">http://wlbookwl.javaeye.com/blog/38293</a>&nbsp;
          发表时间: 2006年12月10日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="font-size: 11pt"><br /><br />1、将控制器display_cart的内容输出到当前页面<br /><pre name="code" class="java">&lt;%=render_component(:action => "display_cart",
                    :params => {:context => :checkout} %></pre><br /><br />2、输出不使用模块<pre name="code" class="java">render(:layout => false)</pre><br /><br /><br />3、下面将读取_order_line.rhtml模板文件，并将@pending_orders实例变量中的对象进行迭代<br /><pre name="code" class="java">&lt;%=render(:partial => "order_line", :collection => @pending_orders) %></pre><br /><br /><br /><br /></span>
          <br/>
          <span style="color:red;">
            <a href="http://wlbookwl.javaeye.com/blog/38293#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 10 Dec 2006 13:21:15 +0800</pubDate>
        <link>http://wlbookwl.javaeye.com/blog/38293</link>
        <guid>http://wlbookwl.javaeye.com/blog/38293</guid>
      </item>
      <item>
        <title>Rails学习的小总结</title>
        <author>wlbookwl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wlbookwl.javaeye.com">wlbookwl</a>&nbsp;
          链接：<a href="http://wlbookwl.javaeye.com/blog/38196" style="color:red;">http://wlbookwl.javaeye.com/blog/38196</a>&nbsp;
          发表时间: 2006年12月09日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="font-size: 11pt">总结一下，学习到的东西。<br /><br /><strong>1、session使用</strong><br />   <br />   <pre name="code" class="java">session[:cart_key] ||=Cart.new</pre><br />   上面方法表示如果session中的cart_key中的cart不存在，就新那一个cart对象.<br /><br /><strong>2、多表关联 </strong><pre name="code" class="java">   class LineItem &lt; ActiveRecord::Base
      belongs_to :product
   end </pre><br />   <br />  表示LineItem 属于表product 与product相关联<br /><br /><strong>3、网页跳转</strong><br />   <pre name="code" class="java">redirect_to(:action => 'index')</pre><br />  跳转到index的控制器<br /><br /><strong>4、ruby私有方法</strong>使用private  ， 与 java不同的是ruby的private方法必须定义在所有方法的最下面，不然会影响其他方法。<br /><br />比如<br />  <pre name="code" class="java"> class Cart
     def test1
         puts "test1";
     end 

     private 
     def test2
         puts "test2"
     end 
      
     def test3        
        puts "test3"
     end      
   end 
 </pre><br /><br />#test3方法虽然没有写private，但也是private方法，所以ruby定义作用域方法是批量的。哈哈<br /><br /><strong>5、&lt;% -%>的使用</strong><br />   &lt;%="测试输出。。。"%><br />   使用上面的情况会输出换行符<br /><br />   &lt;%="测试输出。。。" -%><br />  注意，上面未尾多用了个- ,输出就不会多个换行符了。<br /><br />  这与jsp比方便不少，记得原来弄jsp时，为了页面工整，要把语句都放到一行才能实现。<br /><br /><br /><strong>6、异常处理</strong>  <br />    使用rescue<br />   <pre name="code" class="java">
   def test
      aa = 1 / 0 
   rescue
      puts "除0错误"
   end 
   </pre><br /><br /><strong>7、日志记录</strong><br />   直接使用logger对象<br />   logger.error("日志记录")<br /><br /><strong>8、全局记录错误信息的flash</strong><br />  rails在全局有一个flash对象，默认是在session作用域里传送信息，常用做法是传送出错信息。<br />   flash.now[:message] ，相当于在request中传递信息<br /><br />  <pre name="code" class="java"> 
   def test
      aa = 1 / 0 
   rescue
      logger.error("除0错误")
      flash[:errorMessage] = "出错!"
      redirect_to(:action => 'index')
   end 

  </pre><br /><br /><strong>9、方法命令约定</strong><br />   如果此方法做一些破坏性的事情，就要使用!结尾<br />     def empty!<br />      userName = '';<br />      passWord = '';<br />    end <br /><br /><strong>10、辅助方法</strong><br /><br />辅助方法文件在app\helpers\下，application_helper.rb是全局的，都可以用到。<br />如果辅助控制命为xyz_helper.rb，那么xyz控制器下所有视图都可以使用该文件中定义的辅助方法。<br /><br /><br /><br /></span>
          <br/>
          <span style="color:red;">
            <a href="http://wlbookwl.javaeye.com/blog/38196#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 09 Dec 2006 09:34:00 +0800</pubDate>
        <link>http://wlbookwl.javaeye.com/blog/38196</link>
        <guid>http://wlbookwl.javaeye.com/blog/38196</guid>
      </item>
      <item>
        <title>Rails 研究活动记录 赶上包装浪潮</title>
        <author>wlbookwl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wlbookwl.javaeye.com">wlbookwl</a>&nbsp;
          链接：<a href="http://wlbookwl.javaeye.com/blog/37741" style="color:red;">http://wlbookwl.javaeye.com/blog/37741</a>&nbsp;
          发表时间: 2006年12月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <a href="http://www-128.ibm.com/developerworks/cn/java/j-cb03076/index.html" target="_blank">http://www-128.ibm.com/developerworks/cn/java/j-cb03076/index.html</a>
          <br/>
          <span style="color:red;">
            <a href="http://wlbookwl.javaeye.com/blog/37741#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 07 Dec 2006 12:21:33 +0800</pubDate>
        <link>http://wlbookwl.javaeye.com/blog/37741</link>
        <guid>http://wlbookwl.javaeye.com/blog/37741</guid>
      </item>
      <item>
        <title>Rails 迁移 重新思考数据库模式变化</title>
        <author>wlbookwl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wlbookwl.javaeye.com">wlbookwl</a>&nbsp;
          链接：<a href="http://wlbookwl.javaeye.com/blog/37657" style="color:red;">http://wlbookwl.javaeye.com/blog/37657</a>&nbsp;
          发表时间: 2006年12月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          下文：<br /><a href="http://www-128.ibm.com/developerworks/cn/java/j-cb08156.html" target="_blank">http://www-128.ibm.com/developerworks/cn/java/j-cb08156.html</a>
          <br/>
          <span style="color:red;">
            <a href="http://wlbookwl.javaeye.com/blog/37657#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 06 Dec 2006 17:39:53 +0800</pubDate>
        <link>http://wlbookwl.javaeye.com/blog/37657</link>
        <guid>http://wlbookwl.javaeye.com/blog/37657</guid>
      </item>
      <item>
        <title>进入Ruby on Rails世界（转）</title>
        <author>wlbookwl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wlbookwl.javaeye.com">wlbookwl</a>&nbsp;
          链接：<a href="http://wlbookwl.javaeye.com/blog/37485" style="color:red;">http://wlbookwl.javaeye.com/blog/37485</a>&nbsp;
          发表时间: 2006年12月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="font-size: 11pt">一、ruby和rails简介<br /><br />　　ruby是一种面向对象的动态脚本语言。它的语法很灵活，而且提供了丰富的类库。因此，用ruby编写程序的效率是非常高的。<br />虽然ruby很早就出现了（1993年诞生于日本），但由于ruby一直缺乏英语文档，而且当时的ruby在web开发上并不怎么出众。因此，在2000年之前，ruby还只在日本流行。但这一切被2000年问世的rails打破。<br />Rails是使用纯ruby编写的框架(framework)。它对web开发提供了强有力的支持，如支持数据映射、MVC模式、Web Services、安全等。而且这些功能操作起来要比同类的产品容易的多，如MVC模式就比struts更容易使用。除了这些，rails还可以根据模板自动生成web程序。这样可以省去我们很多的时间。在讨论ruby如何借助rails快速开发web程序之前，让我们先看看如何安装和运行ruby和rails。<br /><br />　　安装和运行ruby<br /><br />　　Ruby支持多个操作系统平台，目前支持windows、linux和OS X，可以从ruby的官方网站下载ruby的安装程序和源代码：http://www.ruby-lang.org/en/downloads/。<br /><br />　　在windows下为了方便安装，建议下载ruby的安装版本。在安装完后，在ruby的安装目录中的bin目录中有两个可执行文件：ruby.exe和rubyw.exe。第一个将启动一个控制台运行ruby程序，而第二个不启动控制台运行ruby程序。让我们先编写一个简单的ruby程序吧！<br /><br />　　建一个文本文件：first_ruby.rb<br /><br />　　输入一条ruby语句：<br /><br /><pre name="code" class="java">puts Time.now.strftime("%Y-%m-%d %H:%M:%S")</pre><br /><br />　　执行<pre name="code" class="java">ruby first_ruby.rb</pre><br /><br />　　如果输出类似"2006-10-07 19:20:20"的字符串，则说明ruby已经安装成功。<br />以下为我电脑上的输出效果：<br /><br />注：ruby有一个eclipse插件非常不错，如果对其感性趣，可以使用eclipse的help-＞Software Updates-＞Find and Install功能通过http://updatesite.rubypeople.org/release进行安装。<br /><br />　　安装和运行rails<br /><br />　　Rails在windows下安装是非常容易的，只需要执行如下命令：<br /><br /><pre name="code" class="java">gem install rails --include-dependencies</pre>即可。<br /><br />注：gem命令在ruby安装目前的bin目录中，运行时要设置path路径。还有在执行这条命令时本机一定要连接internet。因为这条命令是通过internet来下载rails并安装的。并且连上了可能要多等一下，下图为我安装时的截图：<br /><br /><br /><br />在安装完rails后。执行下列命令<br /><pre name="code" class="java">rails first_rails
cd first_rails
ruby script/server</pre><br />注：附我电脑上的截图<br /><br />如果出现下图的提示，则说明这些命令执行成功。<br /><br />然后在IE中输入http://localhost:3000。如果出现下图的欢迎界面，则说明rails安装成功。<br /><br />Rails支持很多数据库，它默认支持的数据库是MySQL。由于使用MySQL数据库不需要安装驱动。因此，本文将使用MySQL数据库来讨论rails如何对数据库进行操作。<br />二、使用rails自动生成web程序<br /><br />　　Rails最独特的功能就是可以根据模板自动生成web程序，这样可以为我们省去很多时间。下面我们就使用rails本身提供的模板来生成一个简单的web程序。<br /><br />　　第一步 初始化<br /><br />　　执行如下命令<br /><br /><br /><br /><pre name="code" class="java">rails autoweb
cd autoweb </pre><br /><br /><br />　　第二步 建立数据库<br /><br />启动MySQL服务后。以root用户登录后建立三个数据库<br /><br /><pre name="code" class="java">create database autoweb_development
create database autoweb_test
create database autoweb_production </pre><br /><br />　　分别在这三个数据库中建立同样的表records。<br /><pre name="code" class="java">CREATE TABLE records (
id int(10) unsigned NOT NULL auto_increment,
title varchar(50) NOT NULL,
content mediumtext NOT NULL,
dt datetime NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
</pre><br />第三步 修改database.yml文件<br /><br />　　database.yml文件保存着数据库的连接信息。这个文件在autoweb\config中。其中有三个标签：development、test和production。从理论上它们应该描述三个不同的数据库。这三个数据库的结构应该是完全一样的。它们分别用在开发、测试和产品发布上。从而使这些工作不互相冲突。<br /><br />　　在本例中只需要修改password项即可（将其设置为root的密码）。<br /><br />　　第四步 生成web程序代码<br /><br />　　执行如下命令<br /><br /><br /><pre name="code" class="java">
ruby script/generate scaffold Record Admin </pre><br /><br /><br />　　第五步 启动服务<br /><br />　　执行如下命令<br /><br /><br /><br /><pre name="code" class="java">ruby script/server </pre><br /><br /><br />　　到现在为止，这个web程序已经生成完毕。它可以对records表进行基本的增、删、改操作。在IE中输入http://localhost:3000/admin可对records进行相应的操作。界面下图所示。<br /><br /><br /><br />点击"New record"可增加一条新记录以及进行其它操作。<br /><br />mathsfan注：上面所说的要修改密码，我硬是没有成功，结果我把我的mysql弄成空密码去配合database.yml文件才成功了，最后试验的时候，添加的记录中不能有中文，否则会出现错误，这个我在Ruby On Rails 中文社区论坛好象看到了解决方法。顺便说一句，当输入<pre name="code" class="java">ruby script/generate scaffold</pre>时你可以看到这样的提示信息： <pre name="code" class="java">script/generate scaffold ModelName [ControllerName] [action, ...]，</pre>之后还有一些说明文档，可以看出为什么验证的网址是那个哈，举个例子，当你输的是这条命令时：<pre name="code" class="java">ruby script/generate scaffold Record Mathsfan，</pre>那么你可以用http://localhost:3000/mathsfan去验证哈：）<br /><br />三、使用活动记录(Active Record)进行数据映射（未验证）<br /><br />　　在上面给出的例子中也许有一个地方最令人迷惑。就是在上述五步中并未给出要操作的是哪一个表。那么rails如何得知我们要操作records表呢？这一点就要从rails中的活动记录说起。<br /><br />　　Rails提供了一种非常方便的数据映射机制 - 活动记录。这种机制可以使用尽可能少的代码将一个数据表映射成ruby对象。为了达到这一目的，rails给出了一些约定。如上面的例子的第四步中使用了Record作为映射数据表的类名，而如果不明确指定所映射的表名时，rails就将这个类名后加s作为表名，即records。下面的代码是一个关于活动记录的例子。<br /><br /><br /><br /><pre name="code" class="java">require 'rubygems'
require_gem 'activerecord'
class Record ＜ ActiveRecord::Base
# set_table_name('tablename')
establish_connection(
:adapter =＞ "mysql",
:host =＞ "localhost",
:username =＞ "root",
:password =＞ "password",
:database =＞ "autoweb_development"
)
end
record = Record.new
record.title = 'abc'
record.content = 'aabbcc'
record.dt = Time.now
if record.save
puts '增加记录成功!'
else
puts '增加记录失败!'
end </pre><br /><br /><br />　　运行它 <pre name="code" class="java">ruby map.rb</pre><br />　　上面的代码有4点需要注意一下<br /><br />　　1. 活动记录必须从ActiveRecord::Base继承。<br /><br />　　2. 除了使用databvase.yml设置数据库连接信息外，还可以通过establish_connection将数据库连接信息写在程序中。<br /><br />　　3. 使用活动记录映射数据表一般并不需要将表中的每个字段定义在类中，默认情况下这字段名就是类的属性名。<br />　<br />　　4. 如果不想使用约定来确定表名，可以通过set_table_name指定其它的表名。<br /><br />四、使用ruby on rails实现一个在线日记程序（未验证）<br /><br />为了更好地理解如何利用rails来开发web应用程序，在这一节中我们使用rails手工编写一个在线日记程序。这个程序以一天为单位记录信息。即每一天是一条记录。下面就详细描述这个程序的设计过程：<br /><br />　　第一步 初始化<br /><br /><br /><br /><pre name="code" class="java">rails diary
cd diary </pre><br /><br />　　第二步 建立数据库<br /><br /><pre name="code" class="java">create database diary;

create table records (
`id` int(10) unsigned NOT NULL auto_increment,
`title` varchar(50) NOT NULL,
`content` mediumtext NOT NULL,
`date` char(10) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `Index_2` (`date`)
) ENGINE=InnoDB DEFAULT CHARSET=UTF8; </pre><br /><br />　　第三步 编写数据表映射类<br /><br />　　在app\models中建立record.rb文件，在其中输入如下代码：<br /><pre name="code" class="java">
class Record ＜ ActiveRecord::Base
establish_connection(
:adapter =＞ "mysql",
:host =＞ "localhost",
:username =＞ "root",
:encoding =＞ "gb2312",
:password =＞ "password",
:database =＞ "diary"
)
end </pre><br /><br />　　注： :encoding =＞ "UTF8" 是必须的，如果没有，汉字就无法保存在数据库中了。<br /><br />　　第四步 编写控制类<br /><br />　　在app\controllers中建立diary_controller.rb文件，在其中输入如下代码。<br /><br /><pre name="code" class="java">class DiaryController ＜ ApplicationController
before_filter :configure_charsets
def configure_charsets
@response.headers["Content-Type"] = "text/html; charset=gb2312"
end
def index
end
def write
# 查找当天的记录，看看今天是否已经有日记了
@record = Record.find_by_date(Time.now.strftime("%Y-%m-%d"))
if @record == nil # 如果没有，增加一条记录
@record = Record.new
end
end
def create
@record = Record.find_by_date(Time.now.strftime("%Y-%m-%d"))
if @record == nil
@record = Record.new
@record.date = Time.now.strftime("%Y-%m-%d")
end
# 保存数据
if @record.update_attributes(params[:record])
@saved = true
else
@saved = false
end
end

def query

end
def result
# 得到提供的日期
@year =@request.params["record[date(1i)]"].to_s;
@month = sprintf("%02d", @request.params["record[date(2i)]"].to_s)
@day = sprintf("%02d", @request.params["record[date(3i)]"].to_s)
@query_date = @year + "-" + @month + "-" + @day
@record = Record.find_by_date(@query_date)
end
end 

</pre><br /><br /><br />　　以上代码有4点需要说明一下：<br /><br />　　1. 控制类必须从ApplicationController继承<br /><br />　　2. 控制类中每一个方法都可作为一个path，如write方法可以在IE中输入http://localhost:3000/diary/write。然后rails先执行这个方法，再调用下面将要讲的rhtml文件。<br /><br />　　3. configure_charsets方法是必须的。这个方法在向IE输出html代码之前调用。而其中的代码@response.headers["Content-Type"] = "text/html; charset=gb2312"设置了html所支持的编码类型。如果没有这条语句。必须得手工调整IE的编码设置才能正常显示汉字。<br /><br />　　4. index方法是默认路径。如果直接输入http://localhost:3000/diary，则执行index方法。<br /><br />　　第五步 编写rhtml文件<br /><br />　　也许你看到这个标题会感到奇怪，是不是写错了，是html吧？我可以肯定地告诉大家，就是rhtml文件。这个文件类型是rails定义的。它类似于jsp或aspx文件。是在后台执行的。在其中定义了很多类似于jsp的tag的东西。由于rhtml文件很多，在这里只给出write.rhtml的例子。<br /><br /><pre name="code" class="java">
＜h3＞日记＜/h3＞

＜%= start_form_tag :action =＞ 'create' %＞
＜%= render :partial =＞ 'form' %＞
＜%= submit_tag "保存" %＞
＜%= end_form_tag %＞ 
</pre><br /><br />　　其中submit_tab就是一个tag。Rails将submit_tag翻译成html代码传给IE或其它浏览器。其它的rhtml文件请参阅本文提供的源代码。这些文件都被建立在app\views\diary中。<br /><br />　　注：每一个作为path的方法必须对应一个rhtml文件，否则会报错。<br /><br />　　第六步 启动服务<br /><br /><pre name="code" class="java">ruby script/server</pre><br /><br />　　在IE中输入http://localhost:3000/diary可看到如下图所示的界面。<br /><br /><br />通过点击"写日记"和"查询日记"链接，可以进行相应的操作。<br /><br />　　五、小结<br /><br />　　通过上节的介绍，我们已经了解了使用rails开发web程序的基本过程。使用rails开发web程序自动遵循MVC模式。分别将M、V、C所定义的代码放到了app\models、app\views和app\controllers三个目录中。然后rails会自动处理。这一点要比struts的一大堆设置方便得多。<br /><br />　　当然，rails的功能还远远不只这些。Rails最强大的功能就是活动记录。使用它可以很方便地映射数据表，而且还可以描述表之间的相互关系，以及其它一些有价值功能。除了这些外，rails还支持web services、actions mailer、security等。总之，如果能够灵活使用rails，就可以通过ruby快速开发出强大的web应用程序。<br />声明：版权归引用页所有，我这里改了一小部分，只是希望当读者读到这篇文章的时候能更好的理解。<br /><br /><br /><br />　<br /><br />文章引用自: <a href="http://hi.baidu.com/superyhao/blog/item/690ba4ece690202763d09f3c.html" target="_blank">http://hi.baidu.com/superyhao/blog/item/690ba4ece690202763d09f3c.html</a><br /></span>
          <br/>
          <span style="color:red;">
            <a href="http://wlbookwl.javaeye.com/blog/37485#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 06 Dec 2006 09:22:42 +0800</pubDate>
        <link>http://wlbookwl.javaeye.com/blog/37485</link>
        <guid>http://wlbookwl.javaeye.com/blog/37485</guid>
      </item>
      <item>
        <title>Rails 中页面中常用函数</title>
        <author>wlbookwl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wlbookwl.javaeye.com">wlbookwl</a>&nbsp;
          链接：<a href="http://wlbookwl.javaeye.com/blog/37443" style="color:red;">http://wlbookwl.javaeye.com/blog/37443</a>&nbsp;
          发表时间: 2006年12月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          函数：h<br />描述：将html转义<br /><pre name="code" class="java"> 
&lt;%=h("&lt;h1>中华人民共和国&lt;/h1>")%>
输出： &lt;h1>中华人民共和国&lt;/h1>
</pre><br /><br />函数：truncate<br />描述：截取指定长度的字符串，后面加省略号<br /><pre name="code" class="java">
&lt;%=truncate("中华人民共和国",5)%>
输出：中华...
后面有三个点，所以算五个了
</pre><br /><br />函数：strftime<br />描述：把日期为指定格式<br /><pre name="code" class="java">
&lt;%=product.add_date.strftime("%Y-%m-%d") %>
输出: 2006-12-03
其中product.add_date为数据库中的时间型字段

&lt;%=Time.now.strftime("%Y-%m-%d") %>
输出当前时间 2006-12-6

&lt;%=Time.now.strftime("%Y-%m-%d %H:%M:%S")>
页面输出：2006-12-6 9:7:13
</pre><br /><br />函数：sprintf<br />描述：把数字转为指定格式<br /><pre name="code" class="java">
&lt;%=sprintf("%0.2f" , 100)%>
输出：100.00  保留2位
</pre>
          <br/>
          <span style="color:red;">
            <a href="http://wlbookwl.javaeye.com/blog/37443#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 05 Dec 2006 22:55:00 +0800</pubDate>
        <link>http://wlbookwl.javaeye.com/blog/37443</link>
        <guid>http://wlbookwl.javaeye.com/blog/37443</guid>
      </item>
      <item>
        <title>Ruby on Rails有用的插件</title>
        <author>wlbookwl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wlbookwl.javaeye.com">wlbookwl</a>&nbsp;
          链接：<a href="http://wlbookwl.javaeye.com/blog/37136" style="color:red;">http://wlbookwl.javaeye.com/blog/37136</a>&nbsp;
          发表时间: 2006年12月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="postTitle"><a href="http://my.donews.com/woodstudio/2006/03/25/ruby-on-rails%e6%9c%89%e7%94%a8%e7%9a%84%e6%8f%92%e4%bb%b6/" rel="bookmark"><font size="2" face="Courier New">Ruby on Rails有用的插件</font></a></div>
<div class="postText"><!-- Content Start -->
<p><font size="2" face="Courier New">文件上传（FileColumn）<br />
网页：</font><a href="http://www.kanthak.net/opensource/file_column/"><font size="2" face="Courier New">http://www.kanthak.net/opensource/file_column/</font></a><br />
<font size="2" face="Courier New">安装：</font><a href="http://opensvn.csie.org/rails_file_column/plugins/file_column"><font size="2" face="Courier New">http://opensvn.csie.org/rails_file_column/plugins/file_column</font></a></p>
<p><font size="2" face="Courier New">主题支持（Theme Support）<br />
安装：</font><a href="http://mattmccray.com/svn/rails/plugins/theme_support"><font size="2" face="Courier New">http://mattmccray.com/svn/rails/plugins/theme_support</font></a><br />
<font size="2" face="Courier New">动态的树型结构（LiveTree）<br />
网页：</font><a href="http://www.epiphyte.ca/code/live_tree.html"><font size="2" face="Courier New">http://www.epiphyte.ca/code/live_tree.html</font></a><br />
<font size="2" face="Courier New">下载：</font><a href="http://www.epiphyte.ca/downloads/live_tree/live_tree-0.1.2.zip"><font size="2" face="Courier New">http://www.epiphyte.ca/downloads/live_tree/live_tree-0.1.2.zip</font></a></p>
<p><font size="2" face="Courier New">国际化插件（Globalize）<br />
网页：</font><a href="http://wiki.globalize-rails.org/"><font size="2" face="Courier New">http://wiki.globalize-rails.org/</font></a><br />
<font size="2" face="Courier New">安装：</font><a href="http://svn.globalize-rails.org/svn/globalize/globalize/trunk"><font size="2" face="Courier New">http://svn.globalize-rails.org/svn/globalize/globalize/trunk</font></a></p>
<p><font size="2" face="Courier New">本地化（Localization）<br />
网页：</font><a href="http://mir.aculo.us/articles/2005/10/03/ruby-on-rails-i18n-revisited"><font size="2" face="Courier New">http://mir.aculo.us/articles/2005/10/03/ruby-on-rails-i18n-revisited</font></a><br />
<font size="2" face="Courier New">安装：</font><a href="http://dev.rubyonrails.org/svn/rails/plugins/localization/"><font size="2" face="Courier New">http://dev.rubyonrails.org/svn/rails/plugins/localization/</font></a></p>
<p><font size="2" face="Courier New">文件上传进度显示（Rails Upload Progress）<br />
网页：</font><a href="http://wiki.rubyonrails.com/rails/pages/Upload+Progress+Bar"><font size="2" face="Courier New">http://wiki.rubyonrails.com/rails/pages/Upload+Progress+Bar</font></a><br />
<font size="2" face="Courier New">Demo：</font><a href="http://sean.treadway.info/demo/upload/"><font size="2" face="Courier New">http://sean.treadway.info/demo/upload/</font></a></p>
<p><font size="2" face="Courier New">Rails引擎（Rails Engine）<br />
网页：</font><a href="http://rails-engines.org/"><font size="2" face="Courier New">http://rails-engines.org/</font></a><br />
<font size="2" face="Courier New">安装：</font><a href="http://svn.rails-engines.org/"><font size="2" face="Courier New">http://svn.rails-engines.org/</font></a><br />
<font size="2" face="Courier New">包括LoginEngine, UserEngine，WikiEngine</font></p>
<p><font size="2" face="Courier New">索引搜索（Indexed Search）<br />
网页：</font><a href="http://lance.langwell-ball.com/pages/indexed-search"><font size="2" face="Courier New">http://lance.langwell-ball.com/pages/indexed-search</font></a><br />
<font size="2" face="Courier New">安装：</font><a href="http://langwell-ball.com/svn/indexed-search/"><font size="2" face="Courier New">http://langwell-ball.com/svn/indexed-search/</font></a></p>
<p><font size="2" face="Courier New">Ajax Scaffold生成器（Ajax Scaffold Generator）<br />
网页：</font><a href="http://ajaxscaffold.height1percent.com/"><font size="2" face="Courier New">http://ajaxscaffold.height1percent.com/</font></a><br />
<font size="2" face="Courier New">安装：gem install ajax_scaffold_generator </font></p>
<!-- Content End --></div>
          <br/>
          <span style="color:red;">
            <a href="http://wlbookwl.javaeye.com/blog/37136#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 04 Dec 2006 15:33:22 +0800</pubDate>
        <link>http://wlbookwl.javaeye.com/blog/37136</link>
        <guid>http://wlbookwl.javaeye.com/blog/37136</guid>
      </item>
      <item>
        <title>Rails 一个示例</title>
        <author>wlbookwl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wlbookwl.javaeye.com">wlbookwl</a>&nbsp;
          链接：<a href="http://wlbookwl.javaeye.com/blog/37060" style="color:red;">http://wlbookwl.javaeye.com/blog/37060</a>&nbsp;
          发表时间: 2006年12月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <font size="3" face="Tahoma">
<div class="code_title">1、创建项目</div>
<div class="code_title">
<p><font face="Tahoma">&nbsp;在命令行运行：rails c:\depot<br />
&nbsp;会在c:\depot下产生项目代码框架</font>&nbsp;</p>
</div>
<p><font size="3"><font face="Tahoma"><strong>2、配置数据库<br />
</strong>&nbsp;首先要配置好数据库，在c:\depot\config\database.yml 中定义<br />
&nbsp; 我们使用mysql，找到如下代码<br />
&nbsp; development:<br />
&nbsp; adapter: mysql<br />
&nbsp; database: depot_development<br />
&nbsp; username: root<br />
&nbsp; password:<br />
&nbsp; host: localhost<br />
&nbsp; encoding: utf8&nbsp;&nbsp;&nbsp; </font><font face="Tahoma"><font color="#ff0000">&lt;== 重要！要把编码设置与mysql数据库一样，否则乱码</font><br />
&nbsp;&nbsp;<br />
&nbsp; 你要建立一个简单的数据库，再建一个表。</font></font></p>
<p><font size="3" face="Tahoma"><strong>3、生成代码</strong><br />
&nbsp;&nbsp; 确定配置好数据库并建立表后。<br />
&nbsp;&nbsp; 命令行输入：其中中Product 是你在数据库中建立的一个表名</font></p>
<div class="dp-highlighter">
<ol class="dp-rb">
    <li class="alt"><span><span>cd&nbsp;c:\depot &nbsp;&nbsp;</span></span> </li>
    <li class=""><span>ruby&nbsp;script/generate&nbsp;scaffold&nbsp;Product&nbsp;Admin&nbsp;&nbsp;</span> </li>
</ol>
</div>
<p><br />
&nbsp;&nbsp; 生成Admin的控制、模型及视图代码。</p>
<p><font size="3"><font face="Tahoma"><strong>4、启动Ruby web服务器</strong>&nbsp;</font></font></p>
<div class="dp-highlighter">
<ol class="dp-rb">
    <li class="alt"><span><span>cd&nbsp;c:\depot &nbsp;&nbsp;</span></span> </li>
    <li class=""><span>ruby&nbsp;script/server&nbsp;&nbsp;</span> </li>
</ol>
</div>
<p><br />
&nbsp;&nbsp; WEBrick 1.3.1服务会启动，默认监听在3000端口上。<br />
&nbsp;<br />
<font size="3"><strong>5、打开浏览器，访问网页</strong></font><br />
<font size="3">&nbsp;&nbsp;&nbsp; 命令行输入：&nbsp;<a href="http://localhost:3000/admin"><font face="Tahoma">http://localhost:3000/admin</font></a><br />
<font face="Tahoma">&nbsp;&nbsp; 如果没有问题，就会出现一个针对Product数据表的能够增、删、查、改的简单程序。</font></font><font size="3" face="Arial">。</font></p>
<p><font size="3" face="Tahoma"><strong>6、可能遇到的问题：</strong><br />
<br />
&nbsp;&nbsp;<font color="#808000"> 数据库乱码问题：<br />
</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 要在config\database.yml中加入encoding: utf8 选项，当然这里utf8要根据你的建立数据库的编码填写相应值 。&nbsp;&nbsp; </font></p>
<p><font face="Arial"><font color="#808000">&nbsp;&nbsp; 对于字符串截取问题，一个中文占两个字符问题：</font><br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;在c:\depot\config\environment.rb 中加入以下代码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></p>
<div class="code_title">ruby 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-rb">
    <li class="alt"><span><span class="variable">$KCODE</span><span>&nbsp;=&nbsp;'u' &nbsp;&nbsp;</span></span> </li>
    <li class=""><span>&nbsp;require&nbsp;'jcode'&nbsp;&nbsp;</span> </li>
</ol>
</div>
<p>&nbsp;这样一个中文字符只占一个了！</p>
<p><font face="Arial">&nbsp;可用如下代码测试一下：</font></p>
<p><font face="Arial"><font face="Arial"><font face="Tahoma">&lt;%=&quot;中1华332人民共和国&quot;.split(//)[0,4] %&gt;&nbsp;</font></font><br />
输出：中1华3 </font></p>
<p><font face="Tahoma"></font></p>
<p>&nbsp;</p>
<p><strong>其他乱码解决方法：</strong></p>
<p>1、查看你的rhtml文件或rb编码是否是UTF8，如果不是,则要改成utf8，方法是使用记事本或editplus等编辑器另存一下，另存时下面有个编码选项，改为UTF8保存即可。</p>
<p>2、mysql数据库编码是否正确 <br />
查看mysql数据库编码，进入mysql命令行中，输入命令 <br />
</p>
<div class="code_title">代码</div>
<div class="code_div">
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span>mysql&gt;&nbsp;&nbsp;show&nbsp;Variables&nbsp;like&nbsp;'%set%'; &nbsp;&nbsp;</span></span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>+--------------------------+--------------+ &nbsp;&nbsp;</span> </li>
    <li class=""><span>|&nbsp;Variable_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;Value&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>+--------------------------+--------------+ &nbsp;&nbsp;</span> </li>
    <li class=""><span>|&nbsp;auto_increment_offset&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;</span><span class="number">1</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>|&nbsp;character_set_client&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;utf8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;</span> </li>
    <li class=""><span>|&nbsp;character_set_connection&nbsp;|&nbsp;utf8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>|&nbsp;character_set_database&nbsp;&nbsp;&nbsp;|&nbsp;utf8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;</span> </li>
    <li class=""><span>|&nbsp;character_set_filesystem&nbsp;|&nbsp;binary&nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>|&nbsp;character_set_results&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;utf8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;</span> </li>
    <li class=""><span>|&nbsp;character_set_server&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;utf8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>|&nbsp;character_set_system&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;utf8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>+--------------------------+--------------+ &nbsp;&nbsp;</span> </li>
</ol>
</div>
</div>
<p>&nbsp;</p>
<p>如果显示为上面的内容，则说明你的mysql编码为UTF8。</p>
<p>如果不是，则要修改mysql安装目录下的my.ini文件，把其中的所有编码改为UTF8就行，批量查找替换一下会很快。</p>
</font>
          <br/>
          <span style="color:red;">
            <a href="http://wlbookwl.javaeye.com/blog/37060#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 03 Dec 2006 22:35:41 +0800</pubDate>
        <link>http://wlbookwl.javaeye.com/blog/37060</link>
        <guid>http://wlbookwl.javaeye.com/blog/37060</guid>
      </item>
      <item>
        <title>Rails 的Hello World !</title>
        <author>wlbookwl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wlbookwl.javaeye.com">wlbookwl</a>&nbsp;
          链接：<a href="http://wlbookwl.javaeye.com/blog/37058" style="color:red;">http://wlbookwl.javaeye.com/blog/37058</a>&nbsp;
          发表时间: 2006年12月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <font size="3" face="Comic Sans MS">
<div class="code_title"></div>
<div class="code_title">首先确保安装了Rails及Ruby环境，如果没有<a href="http://wlbookwl.javaeye.com/admin/show/37053">请看这里</a></div>
<p><font size="3" face="Comic Sans MS"><font color="#808000">1、创建项目</font><br />
在命令行下输入：<font color="#0000ff">rails c:\railsDemo</font><br />
会显示创建一些文件信息。</font></p>
<p><font size="3" face="Comic Sans MS">这样会在c:\railsDemo下创建一个rails工程的骨架。</font></p>
<p><font size="3" face="Comic Sans MS"><font color="#808000">2、创建控制器</font><br />
在命令行输入：<font color="#0000ff">ruby script/generate controller Say</font><br />
则会创建控制器文件在 c:\railsDemo\app\controllers\say_controller.rb</font></p>
<font size="3" face="Comic Sans MS">
<div class="code_title">加入ruby 代码</div>
</font><font size="3" face="Comic Sans MS">
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-rb">
    <li class="alt"><span><span class="keyword">class</span><span>&nbsp;SayController&nbsp;&lt;&nbsp;ApplicationController &nbsp;&nbsp;</span></span> </li>
    <li class=""><span>&nbsp;</span><span class="keyword">def</span><span>&nbsp;hello &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span><span class="variable">@time</span><span>&nbsp;=&nbsp;</span><span class="builtin">Time</span><span>.now(); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;</span><span class="keyword">end</span><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span></span><span class="keyword">end</span><span>&nbsp;&nbsp;</span> </li>
</ol>
</div>
<p>然后手工创建页面文件在c:\railsDemo\app\view\say\hello.rhtml(为什么是？hello.rhtml，因为对应上面的action:hello方法)<br />
hello.rhtml中加入如下代码：</p>
<div class="code_title"></div>
<div class="code_title">
<div class="code_title">ruby 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-rb">
    <li class="alt"><span><span>&lt;%=</span><span class="variable">@time</span><span>%&gt; &nbsp;&nbsp;</span></span></li>
</ol>
</div>
</div>
<p><font size="3" face="Comic Sans MS"><font color="#808000">3、启动ruby web服务器</font><br />
&nbsp; 服务器是一个纯ruby语言写的简单服务器 WEBrick 1.3.1 。<br />
&nbsp; 启动命令：<br />
&nbsp;&nbsp;<font color="#0000ff"> cd c:\railsDemo<br />
&nbsp;&nbsp; ruby script/server</font><br />
=&gt; Booting WEBrick...<br />
=&gt; Rails application started on http://0.0.0.0:3000<br />
=&gt; Ctrl-C to shutdown server; call with --help for options<br />
[2006-12-03 18:17:34] INFO&nbsp; WEBrick 1.3.1<br />
[2006-12-03 18:17:34] INFO&nbsp; ruby 1.8.5 (2006-08-25) [i386-mswin32]</font></p>
<p><font size="3" face="Comic Sans MS">&nbsp; 服务器启动后，可以在<a href="http://localhost:3000/say/hello">http://localhost:3000/say/hello</a> 连接访问。<br />
&nbsp; 网页中会显示前系统时间。</font></p>
<p><br />
<br />
<font size="3" face="Comic Sans MS">&nbsp;</font></p>
</font></font>
          <br/>
          <span style="color:red;">
            <a href="http://wlbookwl.javaeye.com/blog/37058#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 03 Dec 2006 22:27:00 +0800</pubDate>
        <link>http://wlbookwl.javaeye.com/blog/37058</link>
        <guid>http://wlbookwl.javaeye.com/blog/37058</guid>
      </item>
      <item>
        <title>Rails安装</title>
        <author>wlbookwl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wlbookwl.javaeye.com">wlbookwl</a>&nbsp;
          链接：<a href="http://wlbookwl.javaeye.com/blog/37053" style="color:red;">http://wlbookwl.javaeye.com/blog/37053</a>&nbsp;
          发表时间: 2006年12月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><font face="Comic Sans MS"><font size="3"><font color="#808000"></font></font></font></p>
<p><font face="Comic Sans MS"><font size="3"><font color="#808000">1、首先看一Ruby是否安装，如果没有</font><a href="http://wlbookwl.javaeye.com/blog/37052"><font color="#808000">请看这里</font></a><font color="#808000">，然后再看看RubyGems是否被安装。<br />
</font>使用命令下运行 <font color="#0000ff">gem --version</font></font><font size="3"></font></font><font size="3">&nbsp;</font>&nbsp;</p>
<div class="dp-highlighter">
<div class="bar"><font color="#0000ff" face="Comic Sans MS"></font></div>
<ol class="dp-j">
    <li class="alt"><span><span><font face="Tahoma">C:\Documents&nbsp;and&nbsp;Settings\Administrator&gt;gem&nbsp;--version &nbsp;&nbsp;</font></span></span> </li>
    <li class=""><span></span><font face="Comic Sans MS"><font face="Tahoma"><span class="number">0.9</span><span>.</span><span class="number">0</span></font><span>&nbsp;&nbsp;</span></font> </li>
</ol>
</div>
<p><font face="Comic Sans MS">会显示出gem版本，上面是0.90的。</font></p>
<p><font size="3" face="Comic Sans MS">如果RubyGems没有安装。<br />
从以下网址下载安装RubyGems<br />
<a href="http://www.rubyonrails.org/down">http://www.rubyonrails.org/down</a></font><font size="3" face="Comic Sans MS"></font></p>
<p><font size="3" face="Comic Sans MS">如：rubygems-0.9.0.zip<br />
解压后，在命令行下运行 ruby setup.rb 安装</font></p>
<p><font size="3"><font face="Comic Sans MS"><font color="#808000">2、Rails安装,在命令行下运行</font><br />
<font color="#0000ff" style="BACKGROUND-COLOR: #ffffff">gem install rails --include-dependencies</font><br />
等待一些时间，gem会自动通过网络安装Rails。<br />
会显示如下提示信息，安装完成后。</font></font><font size="3"> </font></p>
<div class="dp-highlighter">
<div class="bar"><font face="Comic Sans MS"></font></div>
<ol class="dp-j">
    <li class="alt"><span><font face="Comic Sans MS"><font face="Arial"><span>Successfully&nbsp;installed&nbsp;rails-</span><span class="number">1.1</span><span>.</span><span class="number">6</span></font><span>&nbsp;&nbsp;</span></font></span> </li>
</ol>
</div>
<p><font face="Comic Sans MS">有时网络比较忙可能会出现超时现象，导致安装失败，可以重试安装几次就没问题了。</font></p>
<p><br />
<font size="3" face="Comic Sans MS"><img src="/javascripts/fckeditor/editor/images/smiley/msn/lightbulb.gif" alt="" />还有几个命令可以试一下，都可以安装Rails的。<br />
gem install rails --remote<br />
gem install rails</font></p>
<p><font size="3"><font face="Comic Sans MS">安装完成后可以看看gem都安装了哪里包：</font><font face="Comic Sans MS"><font color="#0000ff">gem list --local<br />
</font>*** LOCAL GEMS ***<br />
actionmailer (1.2.5)<br />
&nbsp;&nbsp;&nbsp; Service layer for easy email delivery and testing.<br />
actionpack (1.12.5)<br />
&nbsp;&nbsp;&nbsp; Web-flow and rendering framework putting the VC in MVC.<br />
actionwebservice (1.1.6)<br />
.......省略。。</font></font></p>
<p><br />
<font size="3"><font face="Comic Sans MS"><font color="#808000">3、rials都安装了些什么？</font><br />
类似如下路径看到些东西。都是rails的包文件，与ruby安装在同一目录下。<br />
C:\ruby\lib\ruby\gems\1.8\gems</font></font></p>
<p><font size="3" face="Comic Sans MS">并在C:\ruby\bin下加入了rails.cmd文件。</font></p>
<p><font size="3" face="Comic Sans MS">&nbsp;</font></p>
<p><font size="3" face="Comic Sans MS">&nbsp;</font></p>
          <br/>
          <span style="color:red;">
            <a href="http://wlbookwl.javaeye.com/blog/37053#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 03 Dec 2006 22:10:00 +0800</pubDate>
        <link>http://wlbookwl.javaeye.com/blog/37053</link>
        <guid>http://wlbookwl.javaeye.com/blog/37053</guid>
      </item>
      <item>
        <title>Ruby安装</title>
        <author>wlbookwl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wlbookwl.javaeye.com">wlbookwl</a>&nbsp;
          链接：<a href="http://wlbookwl.javaeye.com/blog/37052" style="color:red;">http://wlbookwl.javaeye.com/blog/37052</a>&nbsp;
          发表时间: 2006年12月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><font size="3" face="Comic Sans MS">在网页中<a href="http://www.rubyonrails.org/down">http://www.rubyonrails.org/down</a></font><font size="3" face="Comic Sans MS"><br />
可找到Ruby的下载地址<br />
有源码安装版,有window安装版<br />
Source: Compile it yourself<br />
Windows installer: Ruby, popular extensions, editor</font></p>
<p><font size="3" face="Comic Sans MS">windows版的下载回来一个exe安装程序，安装很简单，只要下一步下一步安装就行。</font></p>
<p><font size="3" face="Comic Sans MS">安装完成后看ruby是否运行正常。<br />
在命令行下：运行ruby -v </font><font size="3" face="Comic Sans MS"></font><font size="3" face="Comic Sans MS"></font>
<p>&nbsp;</p>
</p>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span>C:\Documents&nbsp;and&nbsp;Settings\Administrator&gt;ruby&nbsp;-v &nbsp;&nbsp;</span></span> </li>
    <li class=""><span>ruby&nbsp;</span><span class="number">1.8</span><span>.</span><span class="number">5</span><span>&nbsp;(</span><span class="number">2006</span><span>-</span><span class="number">08</span><span>-</span><span class="number">25</span><span>)&nbsp;[i386-mswin32]&nbsp;&nbsp;</span> </li>
</ol>
</div>
<p>会显示出ruby的版本，上面是1.85的。<br />
&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://wlbookwl.javaeye.com/blog/37052#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 03 Dec 2006 21:56:00 +0800</pubDate>
        <link>http://wlbookwl.javaeye.com/blog/37052</link>
        <guid>http://wlbookwl.javaeye.com/blog/37052</guid>
      </item>
  </channel>
</rss>