﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-&lt;h3 style="font-family: Comic Sans MS"&gt;&lt;font color="#FA1A0A" size="10"&gt;︻┳═一Java&lt;/font&gt;&lt;/h3&gt;-文章分类-Groovy&amp;Grails</title><link>http://www.blogjava.net/rain1102/category/30521.html</link><description>&lt;b&gt;&lt;font color="#3C1435"&gt;08年奋斗目标：&lt;/font&gt;&lt;font color="#F70E0A"&gt;赚钱买个房子！&lt;/font&gt;&lt;/b&gt;</description><language>zh-cn</language><lastBuildDate>Tue, 08 Apr 2008 22:24:14 GMT</lastBuildDate><pubDate>Tue, 08 Apr 2008 22:24:14 GMT</pubDate><ttl>60</ttl><item><title>Groovy Eclipse Plugin 安装及问题解决</title><link>http://www.blogjava.net/rain1102/articles/191413.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Tue, 08 Apr 2008 03:28:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/191413.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/191413.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/191413.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/191413.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/191413.html</trackback:ping><description><![CDATA[安装参考链接:<a href="http://groovy.codehaus.org/Eclipse+Plugin" target="_blank">http://<span class="hilite1">groovy</span>.codehaus.org/<span class="hilite2">Eclipse</span>+<span class="hilite3">Plugin</span></a> <br />
按照步骤安装即可. <br />
问题1. <br />
使用<span class="hilite2">Eclipse</span>的Software Updates进行更新安装时报错 configure错误,缺少一些plug <br />
解决方法: <br />
重新安装<span class="hilite2">Eclipse</span>,如果安装有Myclipse,可能是Myclipse的问题,覆盖安装还有问题,最好删除后重新安装. <br />
<br />
问题2:<span class="hilite1">Groovy</span> TestNG feature 不能安装 <br />
解决方法: <br />
如果使用<span class="hilite1">Groovy</span> TestNG feature, <br />
则应先到TestNG update site <br />
(<a href="http://testng.org/doc/download.html" target="_blank">http://testng.org/doc/download.html</a>) <br />
首先安装 TestNG <span class="hilite2">Eclipse</span> plug-in <br />
如果不用<span class="hilite1">Groovy</span> TestNG feature,则取消<span class="hilite1">Groovy</span> TestNG feature选择即可. <br /><img src ="http://www.blogjava.net/rain1102/aggbug/191413.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2008-04-08 11:28 <a href="http://www.blogjava.net/rain1102/articles/191413.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Grails自定义标签</title><link>http://www.blogjava.net/rain1102/articles/190236.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Tue, 01 Apr 2008 16:28:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/190236.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/190236.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/190236.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/190236.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/190236.html</trackback:ping><description><![CDATA[<p><span style="color: #008000">RaceTrackTagLib.groovy（放到grails-app\taglib目录下）</span><br />
class RaceTrackTagLib {<br />
&nbsp;def formatDate = { attrs -&gt;<br />
&nbsp;&nbsp;def date = attrs.get('date')<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;if (!date) {<br />
&nbsp;&nbsp;&nbsp;date = new Date()<br />
&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;def format = attrs.get('format')<br />
&nbsp;&nbsp;if (!format) {<br />
&nbsp;&nbsp;&nbsp;format = "yyyy-MM-dd HH:mm:ss z"<br />
&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;out &lt;&lt; new <a title="Java爱好者" href="http://www.blogjava.net/rain1102" >Java</a>.text.SimpleDateFormat(format).format(date)<br />
&nbsp;}</p>
<p>&nbsp;def formatNumber = { attrs -&gt;<br />
&nbsp;&nbsp;def number = attrs.get('number')<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;if (!number) {<br />
&nbsp;&nbsp;&nbsp;number = new Double(0)<br />
&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;def format = attrs.get('format')<br />
&nbsp;&nbsp;if (!format) {<br />
&nbsp;&nbsp;&nbsp;format = "0"<br />
&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;out &lt;&lt; new <a title="Java爱好者" href="http://www.blogjava.net/rain1102" >Java</a>.text.DecimalFormat(format).format((Double)number)<br />
&nbsp;}<br />
}<br />
</p>
<br />
<span style="color: #008000">页面中使用</span><br />
&lt;g:formatDate date="${race.startDateTime}" format="yyyy-MMM-dd HH:mm"/&gt;<br />
<br />
&lt;g:formatNumber number="${race.distance}" format="##0.00 mi"/&gt;<br />
<br /><img src ="http://www.blogjava.net/rain1102/aggbug/190236.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2008-04-02 00:28 <a href="http://www.blogjava.net/rain1102/articles/190236.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Grails--Quick Start</title><link>http://www.blogjava.net/rain1102/articles/189897.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Mon, 31 Mar 2008 16:02:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/189897.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/189897.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/189897.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/189897.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/189897.html</trackback:ping><description><![CDATA[下面将开始一个简单的GRAILS项目.同样也演示了如何创建一个小应用的步骤.<br />
创建Grails项目<br />
一旦你安装过Grails之后,你就可以使用内置的命令来创建新的项目了:<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 77.45%; padding-top: 4px; border-bottom: #cccccc 1px solid; height: 25px; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000">grails&nbsp;create</span><span style="color: #000000">-</span><span style="color: #000000">app</span></div>
之后会提示您,让您输入项目名称.<br />
也可以直接在命令后输入项目的名称.<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 77.53%; padding-top: 4px; border-bottom: #cccccc 1px solid; height: 25px; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000">grails&nbsp;create</span><span style="color: #000000">-</span><span style="color: #000000">app&nbsp;puras_app</span></div>
命令执行完之后,会生成一个以你输入的项目名为名的目录,里面则是自动生成的目录结构和一些基础代码了,结构如下:<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 77.49%; padding-top: 4px; border-bottom: #cccccc 1px solid; height: 307px; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000">%</span><span style="color: #000000">PROJECT_HOME</span><span style="color: #000000">%</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;grails</span><span style="color: #000000">-</span><span style="color: #000000">app<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;conf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">---&gt;</span><span style="color: #000000">&nbsp;本地配置文件,像是数据源<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;controllers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">---&gt;</span><span style="color: #000000">&nbsp;这个文件夹里存有Controller类<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;domain&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">---&gt;</span><span style="color: #000000">&nbsp;这个文件夹里存有domain类<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;i18n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">---&gt;</span><span style="color: #000000">&nbsp;国际化信息<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;services&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">---&gt;</span><span style="color: #000000">&nbsp;location&nbsp;of&nbsp;services<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;taglib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">---&gt;</span><span style="color: #000000">&nbsp;标签库<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;util&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">---&gt;</span><span style="color: #000000">&nbsp;工具库<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;views&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">---&gt;</span><span style="color: #000000">&nbsp;视图<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;layouts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">---&gt;</span><span style="color: #000000">&nbsp;布局<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;hibernate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">---&gt;</span><span style="color: #000000">&nbsp;可选择的Hibernate的配置<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;lib<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;spring&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">---&gt;</span><span style="color: #000000">&nbsp;可选择的Spring配置<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;src<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;groovy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">---&gt;</span><span style="color: #000000">&nbsp;可选择的,groovy源代码<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;java&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">---&gt;</span><span style="color: #000000">&nbsp;可选择的,java源代码<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;war<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;WEB</span><span style="color: #000000">-</span><span style="color: #000000">INF</span></div>
接下来,可以选择配置一个数据源,在执行"create-app"时,grails就创建了几个数据源在你的%PROJECT_HOME%/grails-app/conf目录里,它们都是标准的环境:DevelopmentDataSource(开发数据源),TestDataSource(测试数据源),和ProductionDataSource(产品数据源).所有的例子都是操作在开发环境之下.<br />
在执行应用的时候可以选择所属的环境(以后有介绍).<br />
默认的,每个数据源都配置的是内嵌的HSQLDB数据库(可以很方便的测试,但是现实的环境中大概没什么用处),所以此步骤是可选的:<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 78.17%; padding-top: 4px; border-bottom: #cccccc 1px solid; height: 145px; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000">DevelopmentDataSource.groovy<br />
</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;DevelopmentDataSource&nbsp;{<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">boolean</span><span style="color: #000000">&nbsp;pooling&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;String&nbsp;dbCreate&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">create-drop</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;one&nbsp;of&nbsp;'create',&nbsp;'create-drop','update'</span><span style="color: #008000"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;String&nbsp;url&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">jdbc:hsqldb:mem:testDB</span><span style="color: #000000">"</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;String&nbsp;driverClassName&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">org.hsqldb.jdbcDriver</span><span style="color: #000000">"</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;String&nbsp;username&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">sa</span><span style="color: #000000">"</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;String&nbsp;password&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">""</span><span style="color: #000000"><br />
}</span></div>
配置这个数据库,就是简单的替换上所希望使用数据库的值,再将其所用的驱动包拷贝到%PROJECT_HOME%/lib目录下.<br />
创建一个实体类<br />
确认你现在所在的目录是你的项目的主目录,之后输入以下命令<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 78.08%; padding-top: 4px; border-bottom: #cccccc 1px solid; height: 25px; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000">grails&nbsp;create</span><span style="color: #000000">-</span><span style="color: #000000">domain</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span></div>
之后命令会提示你输入要创建的类名,你也可以直接在命令后直接输入类名,如:<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 78.27%; padding-top: 4px; border-bottom: #cccccc 1px solid; height: 25px; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000">grails&nbsp;create</span><span style="color: #000000">-</span><span style="color: #000000">domain</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Book</span></div>
向类里添加两个属性:<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 78.26%; padding-top: 4px; border-bottom: #cccccc 1px solid; height: 85px; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000">Book.groovy<br />
</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Book&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;title<br />
&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;author<br />
}</span></div>
你可能想要创建一些测试数据.一个简单的方法就是在%PROJECT_HOME%/grails-app/conf/ApplicationBootStrap.groovy这个Grails应用的启动类的"init"闭包里创建并保存测试数据.<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 78.46%; padding-top: 4px; border-bottom: #cccccc 1px solid; height: 160px; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;ApplicationBootStrap&nbsp;{<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;init&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;{&nbsp;servletContext&nbsp;</span><span style="color: #000000">-&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;Create&nbsp;some&nbsp;test&nbsp;data</span><span style="color: #008000"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Book(author:</span><span style="color: #000000">"</span><span style="color: #000000">Stephen&nbsp;King</span><span style="color: #000000">"</span><span style="color: #000000">,title:</span><span style="color: #000000">"</span><span style="color: #000000">The&nbsp;Shining</span><span style="color: #000000">"</span><span style="color: #000000">).save()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Book(author:</span><span style="color: #000000">"</span><span style="color: #000000">James&nbsp;Patterson</span><span style="color: #000000">"</span><span style="color: #000000">,title:</span><span style="color: #000000">"</span><span style="color: #000000">Along&nbsp;Came&nbsp;a&nbsp;Spider</span><span style="color: #000000">"</span><span style="color: #000000">).save()<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;destroy&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</span></div>
创建Controller<br />
Controllers是Grails应用的中心,它们处理WEB请求和请求的URLs,将请求和请求参数映射到控制器类和它里面的一个闭包.<br />
执行"grails generate-all"命令,并输入控制器的名称.在我们的例子中,我们在生成控制器类的时候输入"Book",将会在%PROJECT_HOME%/grails-app/controllers下生成一个名叫BookController.groovy的文件.也可以直接在命令后直接加上控制器类的名称.<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 78.57%; padding-top: 4px; border-bottom: #cccccc 1px solid; height: 40px; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000">grails&nbsp;generate</span><span style="color: #000000">-</span><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000">all&nbsp;Book<br />
</span></div>
<span style="color: #000000">打开这个文件,并把里面的内容替换成下面所示的代码,使用在你的程序运行的时候动态生成的动态脚手架.<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 78.64%; padding-top: 4px; border-bottom: #cccccc 1px solid; height: 55px; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;BookController&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;scaffold&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Book<br />
}</span></div>
要注意你输入的"Book"是大写的B开头.<br />
<br />
当然,你同样可以不替换而使用默认生成的代码.它可是有学习的价值哦.<br />
<br />
要开始你的Grails应用,执行下面的命令<br />
grails run-app<br />
<br />
这个命令将启动一个Jetty应用服务器的一个实例运行在8080端口上.为了启动一个运行在不同端口上,比如说9090,使用grails -Dserver.port=9090 run-app.要访问books的例表,打开浏览器,并输入:<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 78.81%; padding-top: 4px; border-bottom: #cccccc 1px solid; height: 25px; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000">http:</span><span style="color: #008000">//</span><span style="color: #008000">localhost:8080/puras_app/book/list</span></div>
<br />
简单的小应用到此结束.参照它,举一返三,做一些简单的小应用还是可以的!<br />
</span><img src ="http://www.blogjava.net/rain1102/aggbug/189897.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2008-04-01 00:02 <a href="http://www.blogjava.net/rain1102/articles/189897.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>安装Grails </title><link>http://www.blogjava.net/rain1102/articles/189891.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Mon, 31 Mar 2008 14:49:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/189891.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/189891.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/189891.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/189891.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/189891.html</trackback:ping><description><![CDATA[<p>1、需求</p>
<ul>
    <li>要求安装JDK1.4或以上版本
    <li>设置JAVA_HOME环境变量，指向JDK安装位置 </li>
</ul>
<p>2、安装Grails</p>
<ul>
    <li><a href="http://grails.codehaus.org/" target="_blank">http://grails.codehaus.org/</a>下载最新的Grails版本&nbsp;
    <li>将压缩包解压到合适的位置
    <li>&nbsp;设置GRAILS_HOME环境变量，指向Grails安装位置
    <li>将%GRAILS_HOME%\bin追加到PATH环境变量中
    <li>在命令行执行grails，如果显示Grails的版本信息，表示安装成功！</li>
</ul><img src ="http://www.blogjava.net/rain1102/aggbug/189891.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2008-03-31 22:49 <a href="http://www.blogjava.net/rain1102/articles/189891.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>