﻿<?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-薄薄的Java-文章分类-Groovy涉猎</title><link>http://www.blogjava.net/bobojava/category/38189.html</link><description>技术本来很广，但我们可以把它变薄！</description><language>zh-cn</language><lastBuildDate>Thu, 12 Mar 2009 12:43:11 GMT</lastBuildDate><pubDate>Thu, 12 Mar 2009 12:43:11 GMT</pubDate><ttl>60</ttl><item><title>Grails入门之二： 一切从Hello World开始</title><link>http://www.blogjava.net/bobojava/articles/259394.html</link><dc:creator>Rique</dc:creator><author>Rique</author><pubDate>Thu, 12 Mar 2009 10:12:00 GMT</pubDate><guid>http://www.blogjava.net/bobojava/articles/259394.html</guid><wfw:comment>http://www.blogjava.net/bobojava/comments/259394.html</wfw:comment><comments>http://www.blogjava.net/bobojava/articles/259394.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bobojava/comments/commentRss/259394.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bobojava/services/trackbacks/259394.html</trackback:ping><description><![CDATA[Grails是个典型的遵照MVC模式开发的框架，至少包含了以下3个部分：控制器(Controllers)、领域(Domain)对象(模型)、视图(Views)。既然环境配置好了，Hello项目的基本构架也通过grails create-app hello创建好了，下面进入第一个grails例子。<br />
&nbsp;<br />
进入hello项目文件夹(&gt;cd hello)，输入 grails create-controller hello<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080">&nbsp;1</span><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">E:\Groovy\projects\hello&gt;grails&nbsp;create-controller&nbsp;hello<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Welcome&nbsp;to&nbsp;Grails&nbsp;</span><span style="color: #000000">1.0.4</span><span style="color: #000000">&nbsp;-&nbsp;http://grails.org/<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Licensed&nbsp;under&nbsp;Apache&nbsp;Standard&nbsp;License&nbsp;</span><span style="color: #000000">2.0</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Grails&nbsp;home&nbsp;is&nbsp;set&nbsp;to:&nbsp;E:\Groovy\grails-</span><span style="color: #000000">1.0.4</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Base&nbsp;Directory:&nbsp;E:\Groovy\projects\hello<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Note:&nbsp;No&nbsp;plugin&nbsp;scripts&nbsp;found<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Running&nbsp;script&nbsp;E:\Groovy\grails-</span><span style="color: #000000">1.0.4</span><span style="color: #000000">\scripts\CreateController.groovy<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Environment&nbsp;set&nbsp;to&nbsp;development<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Copying&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">&nbsp;file&nbsp;to&nbsp;E:\Groovy\projects\hello\grails-app\controllers<br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Created&nbsp;Controller&nbsp;for&nbsp;Hello<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\grails-app\views\hello<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Copying&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">&nbsp;file&nbsp;to&nbsp;E:\Groovy\projects\hello\test\integration<br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Created&nbsp;ControllerTests&nbsp;for&nbsp;Hello</span></div>
这样，在grails-app/controller目录下自动生成HelloController.groovy文件，同时grails-test下生成HelloControllerTest.groovy测试文件。<br />
我们编辑HelloController控制器，在index{}中输出Hello World.其中，index是系统默认的操作，相当于JSP中的index.jsp。<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080">1</span>&nbsp;<span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;HelloController&nbsp;{<br />
</span><span style="color: #008080">2</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;index&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;{render&nbsp;</span><span style="color: #000000">'</span><span style="color: #000000">Hello&nbsp;world!</span><span style="color: #000000">'</span><span style="color: #000000">&nbsp;}<br />
</span><span style="color: #008080">3</span>&nbsp;<span style="color: #000000">}</span></div>
运行项目 grails run-app<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080">&nbsp;1</span><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">E:\Groovy\projects\hello&gt;grails&nbsp;run-app<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Welcome&nbsp;to&nbsp;Grails&nbsp;</span><span style="color: #000000">1.0.4</span><span style="color: #000000">&nbsp;-&nbsp;http://grails.org/<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Licensed&nbsp;under&nbsp;Apache&nbsp;Standard&nbsp;License&nbsp;</span><span style="color: #000000">2.0</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Grails&nbsp;home&nbsp;is&nbsp;set&nbsp;to:&nbsp;E:\Groovy\grails-</span><span style="color: #000000">1.0.4</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Base&nbsp;Directory:&nbsp;E:\Groovy\projects\hello<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Note:&nbsp;No&nbsp;plugin&nbsp;scripts&nbsp;found<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Running&nbsp;script&nbsp;E:\Groovy\grails-</span><span style="color: #000000">1.0.4</span><span style="color: #000000">\scripts\RunApp.groovy<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Environment&nbsp;set&nbsp;to&nbsp;development<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">groovyc</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Compiling&nbsp;</span><span style="color: #000000">7</span><span style="color: #000000">&nbsp;source&nbsp;files&nbsp;to&nbsp;C:\Documents&nbsp;and&nbsp;Settings\Administrator\.grails\</span><span style="color: #000000">1.0.4</span><span style="color: #000000">\projects\hello\classes<br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">native2ascii</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Converting&nbsp;</span><span style="color: #000000">11</span><span style="color: #000000">&nbsp;files&nbsp;from&nbsp;E:\Groovy\projects\hello\grails-app\i18n&nbsp;to&nbsp;C:\Documents&nbsp;and&nbsp;Settings\Administrator\.grails\</span><span style="color: #000000">1.0.4</span><span style="color: #000000">\projects\hello\resources\grails-app\i18n<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Copying&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">&nbsp;file&nbsp;to&nbsp;C:\Documents&nbsp;and&nbsp;Settings\Administrator\.grails\</span><span style="color: #000000">1.0.4</span><span style="color: #000000">\projects\hello\classes<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Copying&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">&nbsp;file&nbsp;to&nbsp;C:\Documents&nbsp;and&nbsp;Settings\Administrator\.grails\</span><span style="color: #000000">1.0.4</span><span style="color: #000000">\projects\hello\resources<br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Copying&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">&nbsp;file&nbsp;to&nbsp;C:\Documents&nbsp;and&nbsp;Settings\Administrator\.grails\</span><span style="color: #000000">1.0.4</span><span style="color: #000000">\projects\hello<br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Running&nbsp;Grails&nbsp;application..<br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">2009</span><span style="color: #000000">-</span><span style="color: #000000">03</span><span style="color: #000000">-</span><span style="color: #000000">12</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">20</span><span style="color: #000000">:</span><span style="color: #000000">00</span><span style="color: #000000">:</span><span style="color: #000000">01.183</span><span style="color: #000000">::INFO:&nbsp;&nbsp;Logging&nbsp;to&nbsp;STDERR&nbsp;via&nbsp;org.mortbay.log.StdErrLog<br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">2009</span><span style="color: #000000">-</span><span style="color: #000000">03</span><span style="color: #000000">-</span><span style="color: #000000">12</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">20</span><span style="color: #000000">:</span><span style="color: #000000">00</span><span style="color: #000000">:</span><span style="color: #000000">01.402</span><span style="color: #000000">::INFO:&nbsp;&nbsp;jetty-</span><span style="color: #000000">6.1.12</span><span style="color: #000000"><br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">2009</span><span style="color: #000000">-</span><span style="color: #000000">03</span><span style="color: #000000">-</span><span style="color: #000000">12</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">20</span><span style="color: #000000">:</span><span style="color: #000000">00</span><span style="color: #000000">:</span><span style="color: #000000">02.652</span><span style="color: #000000">::INFO:&nbsp;&nbsp;No&nbsp;Transaction&nbsp;manager&nbsp;found&nbsp;-&nbsp;if&nbsp;your&nbsp;webapp&nbsp;requires&nbsp;one</span><span style="color: #000000">,</span><span style="color: #000000">&nbsp;please&nbsp;configure&nbsp;one.<br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">2009</span><span style="color: #000000">-</span><span style="color: #000000">03</span><span style="color: #000000">-</span><span style="color: #000000">12</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">20</span><span style="color: #000000">:</span><span style="color: #000000">00</span><span style="color: #000000">:</span><span style="color: #000000">02.308</span><span style="color: #000000">:/hello:INFO:&nbsp;&nbsp;Set&nbsp;web&nbsp;app&nbsp;root&nbsp;system&nbsp;property:&nbsp;'hello-development-</span><span style="color: #000000">0.1</span><span style="color: #000000">'&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">E:\Groovy\projects\hello\web-app</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"><br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">2009</span><span style="color: #000000">-</span><span style="color: #000000">03</span><span style="color: #000000">-</span><span style="color: #000000">12</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">20</span><span style="color: #000000">:</span><span style="color: #000000">00</span><span style="color: #000000">:</span><span style="color: #000000">02.308</span><span style="color: #000000">:/hello:INFO:&nbsp;&nbsp;Initializing&nbsp;log4j&nbsp;from&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">file:C:\Documents&nbsp;and&nbsp;Settings\Administrator/.grails/1.0.4/projects/hello/resources/log4j.properties</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000"><br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">2009</span><span style="color: #000000">-</span><span style="color: #000000">03</span><span style="color: #000000">-</span><span style="color: #000000">12</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">20</span><span style="color: #000000">:</span><span style="color: #000000">00</span><span style="color: #000000">:</span><span style="color: #000000">02.340</span><span style="color: #000000">:/hello:INFO:&nbsp;&nbsp;Initializing&nbsp;Spring&nbsp;root&nbsp;WebApplicationContext<br />
</span><span style="color: #008080">23</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">0</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;spring.GrailsWebApplicationContext&nbsp;Refreshing&nbsp;org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext@396c7:&nbsp;display&nbsp;name&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext@396c7</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #008000">;</span><span style="color: #008000">&nbsp;startup&nbsp;date&nbsp;[Thu&nbsp;Mar&nbsp;12&nbsp;20:00:05&nbsp;CST&nbsp;2009];&nbsp;parent:&nbsp;org.springframework.web.context.support.XmlWebApplicationContext@1e7c609</span><span style="color: #008000"><br />
</span><span style="color: #008080">24</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">0</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;spring.GrailsWebApplicationContext&nbsp;Bean&nbsp;factory&nbsp;for&nbsp;application&nbsp;context&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext@396c7</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">:&nbsp;org.springframework.beans.factory.support.DefaultListableBeanFactory@c4c05<br />
</span><span style="color: #008080">25</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">2009</span><span style="color: #000000">-</span><span style="color: #000000">03</span><span style="color: #000000">-</span><span style="color: #000000">12</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">20</span><span style="color: #000000">:</span><span style="color: #000000">00</span><span style="color: #000000">:</span><span style="color: #000000">08.179</span><span style="color: #000000">:/hello:INFO:&nbsp;&nbsp;Initializing&nbsp;Spring&nbsp;FrameworkServlet&nbsp;'grails'<br />
</span><span style="color: #008080">26</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">2009</span><span style="color: #000000">-</span><span style="color: #000000">03</span><span style="color: #000000">-</span><span style="color: #000000">12</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">20</span><span style="color: #000000">:</span><span style="color: #000000">00</span><span style="color: #000000">:</span><span style="color: #000000">09.445</span><span style="color: #000000">::INFO:&nbsp;&nbsp;Started&nbsp;SelectChannelConnector@</span><span style="color: #000000">0.0.0.0</span><span style="color: #000000">:</span><span style="color: #000000">8080</span><span style="color: #000000"><br />
</span><span style="color: #008080">27</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Server&nbsp;running.&nbsp;Browse&nbsp;to&nbsp;http://localhost:</span><span style="color: #000000">8080</span><span style="color: #000000">/hello</span></div>
打开浏览器，输入<a href="http://localhost:8080/hello/hello/index">http://localhost:8080/hello/hello/index</a> 查看运行结果<br />
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/bobojava/1123.JPG" /><br />
地址栏中，第一个hello为项目名，第二hello为控制器名，index为操作名。<br />
<br />
最基本的一个入门程序写完了，除了手工编写外，我们还可以使用NetBeans作为开发IDE，大大简化开发流程。至少不用记那么多命令了哈！<br />
<img style="width: 880.29px; height: 528.42px" border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/bobojava/031211.JPG" width="880" height="528" /><br />
<img src ="http://www.blogjava.net/bobojava/aggbug/259394.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bobojava/" target="_blank">Rique</a> 2009-03-12 18:12 <a href="http://www.blogjava.net/bobojava/articles/259394.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Grails入门之一： 环境配置及简单命令介绍</title><link>http://www.blogjava.net/bobojava/articles/258752.html</link><dc:creator>Rique</dc:creator><author>Rique</author><pubDate>Tue, 10 Mar 2009 03:19:00 GMT</pubDate><guid>http://www.blogjava.net/bobojava/articles/258752.html</guid><wfw:comment>http://www.blogjava.net/bobojava/comments/258752.html</wfw:comment><comments>http://www.blogjava.net/bobojava/articles/258752.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bobojava/comments/commentRss/258752.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bobojava/services/trackbacks/258752.html</trackback:ping><description><![CDATA[<p>首先，让我们来搭建起开发Grails的环境。在Windows平台下，他的配置和Java的环境十分相似，那我们一步一步开始吧！<br />
一、下载最新的发布版本：<a href="http://www.grails.org">http://www.grails.org</a>.解压后备用。本人把解压后的文件置于Grooy目录下。（以后的开发都在Groovy目录下完成，最好再建个目录projects）<br />
二、设置GRAILS_HOME环境变量，类似于Java环境变量，找到解压后的根目录，如:E:\Groovy\grails-1.0.4&nbsp;<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/bobojava/1.JPG" width="344" height="137" /><br />
三、将GRAILS_HOME加入到PATH中，%GRAILS_HOME%/bin<br />
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/bobojava/2.JPG" /><br />
OK，现在测试一下，命令行下输入grails，如图：<br />
<img style="width: 744px; height: 113px" border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/bobojava/3.JPG" width="744" height="113" /><br />
<br />
<br />
好了，准备工作就绪，让我们开始介绍几个简单的命令吧！<br />
<br />
命令行下输入grails help，先来看看grails的基本命令吧<br />
</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080">&nbsp;1</span><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">C:\&gt;grails&nbsp;help<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />Welcome&nbsp;to&nbsp;Grails&nbsp;</span><span style="color: #000000">1.0.4</span><span style="color: #000000">&nbsp;-&nbsp;http://grails.org/<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />Licensed&nbsp;under&nbsp;Apache&nbsp;Standard&nbsp;License&nbsp;</span><span style="color: #000000">2.0</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />Grails&nbsp;home&nbsp;is&nbsp;set&nbsp;to:&nbsp;E:\Groovy\grails-</span><span style="color: #000000">1.0.4</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />Base&nbsp;Directory:&nbsp;C:\<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />Note:&nbsp;No&nbsp;plugin&nbsp;scripts&nbsp;found<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />Running&nbsp;script&nbsp;E:\Groovy\grails-</span><span style="color: #000000">1.0.4</span><span style="color: #000000">\scripts\Help.groovy<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />Environment&nbsp;set&nbsp;to&nbsp;development<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Usage&nbsp;(optionals&nbsp;marked&nbsp;with&nbsp;*):&nbsp;<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;grails&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">environment</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">*&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">target</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">arguments</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">*<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Examples:&nbsp;<br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;grails&nbsp;dev&nbsp;run-app&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;grails&nbsp;create-app&nbsp;books<br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Available&nbsp;Targets&nbsp;(type&nbsp;grails&nbsp;help&nbsp;'target-name'&nbsp;for&nbsp;more&nbsp;info):<br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;bootstrap<br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;bug-report<br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;clean<br />
</span><span style="color: #008080">23</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;compile<br />
</span><span style="color: #008080">24</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;console<br />
</span><span style="color: #008080">25</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;create-app<br />
</span><span style="color: #008080">26</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;create-controller<br />
</span><span style="color: #008080">27</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;create-domain-class<br />
</span><span style="color: #008080">28</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;create-filters<br />
</span><span style="color: #008080">29</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;create-integration-test<br />
</span><span style="color: #008080">30</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;create-plugin<br />
</span><span style="color: #008080">31</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;create-script<br />
</span><span style="color: #008080">32</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;create-service<br />
</span><span style="color: #008080">33</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;create-tag-lib<br />
</span><span style="color: #008080">34</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;create-unit-test<br />
</span><span style="color: #008080">35</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;doc<br />
</span><span style="color: #008080">36</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;generate-all<br />
</span><span style="color: #008080">37</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;generate-controller<br />
</span><span style="color: #008080">38</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;generate-views<br />
</span><span style="color: #008080">39</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;help<br />
</span><span style="color: #008080">40</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;init<br />
</span><span style="color: #008080">41</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;install-plugin<br />
</span><span style="color: #008080">42</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;install-templates<br />
</span><span style="color: #008080">43</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;list-plugins<br />
</span><span style="color: #008080">44</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;package<br />
</span><span style="color: #008080">45</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;package-plugin<br />
</span><span style="color: #008080">46</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;plugin-info<br />
</span><span style="color: #008080">47</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;release-plugin<br />
</span><span style="color: #008080">48</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;run-app<br />
</span><span style="color: #008080">49</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;run-app-https<br />
</span><span style="color: #008080">50</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;run-war<br />
</span><span style="color: #008080">51</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;set-proxy<br />
</span><span style="color: #008080">52</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;set-version<br />
</span><span style="color: #008080">53</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;shell<br />
</span><span style="color: #008080">54</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;stats<br />
</span><span style="color: #008080">55</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;test-app<br />
</span><span style="color: #008080">56</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;upgrade<br />
</span><span style="color: #008080">57</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />grails&nbsp;war</span></div>
前面是命令格式介绍，后面从20-57行总共38条命令，在应用中会逐一介绍。<br />
其中，应用创建命令grails create-app最为常用，它会为我们创建一个标准的规范化的grails应用框架目录。如图，<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080">&nbsp;1</span><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">E:\Groovy\projects&gt;grails&nbsp;create-app&nbsp;hello<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />Welcome&nbsp;to&nbsp;Grails&nbsp;</span><span style="color: #000000">1.0.4</span><span style="color: #000000">&nbsp;-&nbsp;http://grails.org/<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />Licensed&nbsp;under&nbsp;Apache&nbsp;Standard&nbsp;License&nbsp;</span><span style="color: #000000">2.0</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />Grails&nbsp;home&nbsp;is&nbsp;set&nbsp;to:&nbsp;E:\Groovy\grails-</span><span style="color: #000000">1.0.4</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />Base&nbsp;Directory:&nbsp;E:\Groovy\projects<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />Note:&nbsp;No&nbsp;plugin&nbsp;scripts&nbsp;found<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />Running&nbsp;script&nbsp;E:\Groovy\grails-</span><span style="color: #000000">1.0.4</span><span style="color: #000000">\scripts\CreateApp.groovy<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />Environment&nbsp;set&nbsp;to&nbsp;development<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\src<br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\src\java<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\src\groovy<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\grails-app<br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\grails-app\controllers<br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\grails-app\services<br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\grails-app\domain<br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\grails-app\taglib<br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\grails-app\utils<br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\grails-app\views<br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\grails-app\views\layouts<br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\grails-app\i18n<br />
</span><span style="color: #008080">23</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\grails-app\conf<br />
</span><span style="color: #008080">24</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\test<br />
</span><span style="color: #008080">25</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\test\unit<br />
</span><span style="color: #008080">26</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\test\integration<br />
</span><span style="color: #008080">27</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\scripts<br />
</span><span style="color: #008080">28</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\web-app<br />
</span><span style="color: #008080">29</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\web-app\js<br />
</span><span style="color: #008080">30</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\web-app\css<br />
</span><span style="color: #008080">31</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\web-app\images<br />
</span><span style="color: #008080">32</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\web-app\META-INF<br />
</span><span style="color: #008080">33</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\lib<br />
</span><span style="color: #008080">34</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\grails-app\conf\spring<br />
</span><span style="color: #008080">35</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">mkdir</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Created&nbsp;dir:&nbsp;E:\Groovy\projects\hello\grails-app\conf\hibernate<br />
</span><span style="color: #008080">36</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">propertyfile</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Creating&nbsp;new&nbsp;property&nbsp;file:&nbsp;E:\Groovy\projects\hello\application.properties<br />
</span><span style="color: #008080">37</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Copying&nbsp;</span><span style="color: #000000">2</span><span style="color: #000000">&nbsp;files&nbsp;to&nbsp;E:\Groovy\projects\hello<br />
</span><span style="color: #008080">38</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Copied&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">&nbsp;empty&nbsp;directory&nbsp;to&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">&nbsp;empty&nbsp;directory&nbsp;under&nbsp;E:\Groovy\projects\hello<br />
</span><span style="color: #008080">39</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Copying&nbsp;</span><span style="color: #000000">2</span><span style="color: #000000">&nbsp;files&nbsp;to&nbsp;E:\Groovy\projects\hello\web-app\WEB-INF<br />
</span><span style="color: #008080">40</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Copying&nbsp;</span><span style="color: #000000">5</span><span style="color: #000000">&nbsp;files&nbsp;to&nbsp;E:\Groovy\projects\hello\web-app\WEB-INF\tld<br />
</span><span style="color: #008080">41</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Copying&nbsp;</span><span style="color: #000000">28</span><span style="color: #000000">&nbsp;files&nbsp;to&nbsp;E:\Groovy\projects\hello\web-app<br />
</span><span style="color: #008080">42</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Copying&nbsp;</span><span style="color: #000000">18</span><span style="color: #000000">&nbsp;files&nbsp;to&nbsp;E:\Groovy\projects\hello\grails-app<br />
</span><span style="color: #008080">43</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Copying&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">&nbsp;file&nbsp;to&nbsp;E:\Groovy\projects\hello<br />
</span><span style="color: #008080">44</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Copying&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">&nbsp;file&nbsp;to&nbsp;E:\Groovy\projects\hello<br />
</span><span style="color: #008080">45</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Copying&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">&nbsp;file&nbsp;to&nbsp;E:\Groovy\projects\hello<br />
</span><span style="color: #008080">46</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">copy</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Copying&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">&nbsp;file&nbsp;to&nbsp;E:\Groovy\projects\hello<br />
</span><span style="color: #008080">47</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #800000; font-weight: bold">[</span><span style="color: #800000">propertyfile</span><span style="color: #800000; font-weight: bold">]</span><span style="color: #000000">&nbsp;Updating&nbsp;property&nbsp;file:&nbsp;E:\Groovy\projects\hello\application.properties<br />
</span><span style="color: #008080">48</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />Created&nbsp;Grails&nbsp;Application&nbsp;at&nbsp;E:\Groovy\projects/hello</span></div>
<br />
Hello是我们创建的第一个grails应用，grails自动为我们创建必要的目录结构。<br />
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/bobojava/4-1.JPG" width="206" height="221" /><br />
下节我们将基于这个目录结构，进行第一个入门的HelloWorld应用开发。<br />
<img src ="http://www.blogjava.net/bobojava/aggbug/258752.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bobojava/" target="_blank">Rique</a> 2009-03-10 11:19 <a href="http://www.blogjava.net/bobojava/articles/258752.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>