比较难找的grails的资料,我也是找了很久才找到的。需要grails相关的拿走6. 2 Groovy Server Pages6.2.1GSP基础6.2.1.1变量和作用域6.2.1.2逻辑和迭代6.2.1.3页面指令6.2.1.4表达式6.2.2GSP标签6.2.2.1变量和作用域6.2.2.2逻辑和迭代6.2.2.3搜索和过滤6.2.2.4链接和资源6.2.2.5表单和字段6.2.2.6标签作为方法调用6.2.3视图和模板6.2.4使用 Sitemesh布局6.3标签库6.3.1简单标签6.3,2逻辑标签6.3.3迭代标签6.3.4标签命名空问6.4RL映射6.4.1映射到控制器和操作6.4.2嵌入式变量6.4.3映射到视图6.4.4映射到响应代码6.4.5映射到ⅢTP方法6.4.6映射通配符6.4.7自动重写链接用约束6.5 Web flow6.5,1开始和结束状态6.5.2操作状态和视图状态6.5,3流执行事件6.5.4流的作用域6.5.5数据绑定和验证6.5.6了流程和会话6.6过滤器6.6.1应用过滤器6.6.2过滤器的类型6.6.3过滤器的功能6. 7 Ajax6.7.1用 Prototype实现Ajax6.7.1.1异步链接6.7.1.2更新内容6.7.1.3异步表单提交6.7.1.4Ajax事件6.7.2用Dojo实现Aiax6.7.3用GWT实现Ajax6.7.4服务端的Aiax6.8内容协商7.验证7.1声明约束7.2验证约束7,3客户端验证7.4验证和国际化8.服务层8.1声明式事务8.2服务的作用域8.3依赖注入和服务8.4使用Java的服务9.测试9.1单元测试9.2集成测试9.3功能测试10.国际化10.1理解信息绑定10.2改变 Locales10.3读取信息11.安全11.1预防攻击11.2字符串的编码和解码1.3身份验证1.4关于安全的插件11.4.1 Acegi1.4.2 Security12插件12.1创建和安装插件12.2理解插件的结构12.3提供基础的工件12.4评估规约12.5参与构建事件12.6参与运行时配置12.7运行时添加动态方法12.8参与自动重载12.9理解插件加载的顺序13.Web服务13. 1 REST13.2S0AP13.3RSS和Atom14. Grails和 Spring14.1 Grails的支柱14.2配置其他Bean14.3通过 Beans dsl运行 SpringA.4置属性占位14.5配置属性重载15. Grails和 Hibernate15.1通过 Hibernate注释进行映射15.2深入了解16.脚手架1.简介如今的 Java Web开发对于需求来说已经变得过于复杂。当今众多Java领域的Wcb开发框架不仅使用复杂,而且并没有很好的遵循Don’ t Repeat yourself(DRY)原则。像 Rails, Django和Turbυ gEars这样的动态框架在web开发领域开辟了一条新的道路, Grails基于这些概念之上,采用动态方法减小了Java平台上进行Web开发的复杂度,不过与那些框架不同的是, Grails是构建在 Spring和 Hibernate等Java已有的技术之上的Grails是一个fu1l- stack框架,它借助于核心技术与相关的插件(plug-in)来解决Web开发中方方面面的问题,其中包括:易于使用的基于 Hibernate的对象-关系映射(ORM层称为 Groovy Server pages(GP)的表现层技术基于 Spring mvc的控制器层构建于Gant上的命令行脚本运行环境内置 Jetty服务器,不用重新启动服务器就可以进行重新加载利用内置的 Spring容器实现依赖注入基于 Spring的 Messagesource核心概念,提供了对国际化(i18n)的支持基于 Spring事务抽象概念,实现事务服务层借助于功能强人的 Groovy动态语言和领域特定语言( Domain specificanguage,DSL),以上那些特性变得非常易用。这篇文档会向你介绍如何使用 Grails框架来搭建Web应用程序。2.起步2.1下载并安装 Grails首先需要下载 Grails的发行包并进行安装,执行步骤如下:下载 Grails二进制发行包并解压到指定的文件目录下在环境变量中添加 GRAILS HOME,值为上一步解压的文件日录。Unix/ Linux系统上运行 export grAILs HOME=/path/to/ grailsWindows系统上右击“我的电脑”/“属性”/“高级”/“环境变量”,点击新建将解压目录下的bin目录路径添加到path中Unix/ Linux系统上运行 export PAtH="$PATH: SGRAILS HOME/binWindows系统上右击“我的电脑”/“属性”/“高级”/“环境变量”,修改path的值。如果环境变量设置无误,此时可以打开终端( window下为命令提示符,Unix/ Linux下为Shel1),输入 grails,如果屏幕上显示如下提示则说明安装成功。WelcometoGrails1.0-http://grails.org/Licensed under apache Standard License 2.0Grails home is set to:/Developer/grails-10No script name specified. Use grails help for more info2.2创建一个 Grails应用在创建应用程序之前,先熟悉·下 grails命令的使用( grails中的命令都在终端中输入,请参考上面的讲解)grailS COllllland lline现在我们为了创建一个 Grails应用,需要输入的命令是 create-appgrails create- app helloworld这样就在当前目录下创建了一个名为 he llowor1d(即我们的应用程序名)的文件夹,在这个文件夹中包含了我们这个项目的整个文件目录,可以使用如下命令进入这个目录中查看:cd helloworld2.3He1 Lo World示例为了完成这个经典的 Hello World示例,我们需要运行 create- controller命令grails create-controller hello运行该命令后会在 grails app/ controller目录下创建一个名为Hellocontroller. groovy的控制器(更多关于控制器的内容请参考控制器一节)控制器主要用来完成对Web请求的处理,我们稍微修改一下控制器的内容,使它能够在面上输出"He1 lo World!"的字样,代码如下class HelloController Idef worldrender Hello World现在控制器已经完成了,接下来要使用 run-app来启动内置的 jetty服务器运行刚刚创建的 helloworld程序grails run app运行后会在8080端凵(默认,可以使用- Server.port来指定端山)启动服务器,然后在浏览器中输入http://localhost:8080/helloworld来启动应用程运行结果如下图所示:Welcome to grails②G(ohttp:/calhost:80-GoogeBack Forward Reload StopLocat onSearchBookmarksL GRAILSWelcome to grailsCongratulat ons, you have successfully stared your irst Grails application! Atthe moment this is the default page, feal free to modify it to either redirect toa controller or d splay whatever ccntent you may choose. Below is a list ofcontrollers that are currently deployed in this application click on each toscute止 default action● Hello controller这个 Grails简介页面是由web-app/ index.gsp来显小的。从上图可以看见刚才创建的控制器,点击链接之后会在浏览器中显示 Hello World!的字样2.4使用IDEIntelliJ iDEa至今为止最成熟、最全面的 Groovy& Grails开发集成工具就是Inte1 LiJ IDEA7.0和它的 JeiGroovy插件。对于大型项目, Grails团队优先推荐使用 IntellijTextMate由于 Grails目标集中于如何更简洁,所以我们可以使用一些更简单的编辑器进行 Groovy& Grails的开发,例如在Mac上可以使用 TextMate,下载地址 Texmatebundles svnEclipseEclipse的 Groovy插件也可以支持语法高亮,代码自动完成等特性。在 Grails的Wiki上有更多关于 Eclipse插件的谈论。Grails在创建应用时会自动创建 Eclipse的工程文件. project和 classpath,这样如果要在 Eclipse中导入一个Grai1s工程只需要在 Eclipse中右击 PackageExplorer,选择 Import,然后选择 Existing project into Workspace,最后指定 Grails的项目目录位置点击0K, Finish后会自动将 Grails工程导入到 Eclipse中。并自动创建合适的运行配置( Run Configuration),这样在 Eclipse中直接点击Run就可以运行 Grails的项目2.5规约配置Grails中的配置遵循“规约优于配置”的原则,即通过文件的名称和位置来替代显式的配置,因此需要熟悉以下几个目录结构的用途。此处仅仅为一个分类,具体的请参考相关章节:grails-app源文件的顶级目录conf-配置文件目录,详细参考配置.controllers-控制器目录(MVC模型中的C),详细参考控制器domain-领域模型目录(WC模型中的Ⅵ),详细参考GORMi18n-国际化目录,用来支持il8n,详细参考国际化services-服务日录,详细参考服务层taglib-标签库目录,详细参考标签库vIews-视图GSP目录(MWC中的V),详细参考GSPscripts-Gant脚本目录,详细参考Gant脚本src-源文件目录groovy-其他的 Groovy源文件目录java-其他的Java源文件目录Lest-单元和集成测试目录,详细参考测试2.6运行 Grails应用可以运行run-ap命令来启动 Grails内置的 Jetty服务器,默认启动端口为8080grails run-app如果8080端口已经被占用,可以通过 server.port参数指定其他端口grails-dserver. port=8090 run- app更多关于run-app的内容可以参照参考指南2.7测试 Grails应用create-*命令会在test/ integration目录下自动创建相应的测试文件,可以在这些测试文件中编写测试用例来进行单元测试和集成测试,关于测试的内容可以参考测试章节。运行这些测试可以使用test-app命令。grails test-appGrails会自动创建Ant的 build.xm1文件,也可以通过Ant来运行测试(其实运行的是 Grails的test-app)。ant test这样当 Grails应用作为持续集成平台,例如 Cruisecontrol的一部分时就会十分方便2.8部署 Grails应用Grails应用程序以Web应用归档(.WAR)文件的形式进行部署,并且 Grails还提供了war命令来执行生成归档文件。grails war这条命令会生成当前应用的war文件,可以按照服务器容器的不同进行相应的配置定不要使川run-app命令来部署 Grails,因为此命令会在运行时自动加载,这样会对服务器的性能和可扩展性有严重影响。当部署吋应当通JWM的- server参数来为服务器分配足够的内存空间,推荐的WM参数是:server -Xmx512M2.9所支持的 Java ee容器Grails可以支持的相当多的Web容器,包括Tomcat 5.5ToⅢcat6.0GlassFish v1(Sun AS 9. 0)GlassFish v2(Sun AS 9. 1)Sun App server 8. 2Websphere 6.1Websphere 5.1● Resin3.2Oracle as