Grails

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
第139行: 第139行:
 
==Plugins==
 
==Plugins==
 
  grails list-plugins
 
  grails list-plugins
Plug-ins available in the Grails repository are listed below:
 
*acegi              <no releases>    --  No description available
 
*aop                <no releases>    --  No description available
 
*autorest            <no releases>    --  No description available
 
*axis2              <0.1>            --  Add Web Service support for Grails services using Apaxhe Axis2.
 
*cache              <no releases>    --  No description available
 
*cas-client          <0.2>            --  This plugin provides client integration for JA-SIG CAS
 
*code-coverage      <0.7>            --  Generates Code Coverage reports
 
*converters          <0.3>            --  Provides JSON and XML Conversion for common Objects (Domain Classes, Lists, Maps, POJO)
 
*dbmapper            <0.1.7>          --  Database relation to domain object generator
 
*dbmigrate          <0.1.5>          --  Database migration tasks
 
*djangotemplates    <no releases>    --  No description available
 
*dojo                <0.4.3>          --  Provides integration with the Dojo toolkit http://dojotoolkit.org, an Ajax framework.
 
*dwr                <0.1>            --  This plugin adds DWR capabilies to the services in a Grails application.
 
*eastwood-chart      <0.1>            --  This plugin wraps JFreeChart's Eastwood servlet for Grails app
 
*echo2              <0.1>            --  Echo2 capabilities to Grails applications
 
*ext-ui              <no releases>    --  No description available
 
*fck-editor          <0.3>            --  FCKeditor
 
*feeds              <1.0>            --  Render RSS/Atom feeds with a simple builder
 
*flex                <0.1>            --  Provides integration between Grails and Flex
 
*google-chart        <0.4.3>          --  This plugin adds Google Chart API features to Grails applications.
 
*gwt                <0.2.4>          --  The Google Web Toolkit for Grails.
 
*i18n-templates      <1.0.1>          --  I18n Templates
 
*ivy                <0.1>            --  The Ivy Dependency Manager for Grails.
 
*jasper              <0.5>            -- 
 
*jcaptcha            <0.2>            --  Grails JCaptcha Plugin
 
*jcr                <no releases>    --  No description available
 
*jms                <0.3>            --  This plugin adds MDB functionality to services.
 
*jsecurity          <0.1.1>          --  Security support via the JSecurity framework.
 
*jsf                <no releases>    --  No description available
 
*laszlo              <0.6>            --  OpenLaszlo plugin for Grails
 
*ldap                <0.1>            --  Adds easy to use LDAP connectivity
 
*liquibase          <1.5.2.0>        --  LiquiBase Database Refactoring for Grails
 
*modalbox            <0.1>            --  This plugin adds the ModalBox to your Grails applications.
 
*mondrian            <0.1>            --  This plugin installs Pentaho Mondrian into your Grails application.
 
*ofchart            <0.5>            -- 
 
*portlets            <no releases>    --  No description available
 
*quartz              <0.2 (?)>       --  This plugin adds Quartz job scheduling features to Grails application.
 
*radeox              <0.1>            --  A plugin for the Radeox Wiki-render engine to allow easy markup and cross-linking.
 
*remoting            <0.3>            --  Adds easy-to-use server-side and client-side RPC support.
 
*richui              <0.2>            --  Provides a set of AJAX components
 
*scaffold-tags      <0.7>            --  Adds tags to support fully-customizable & dynamic scaffolding
 
*searchable          <0.4-SNAPSHOT>  --  Adds rich search functionality to Grails domain models.
 
*staticresources    <no releases>    --  No description available
 
*webtest            <0.3>            --  A plug-in that provides functional testing for Grails using Canoo Web Test
 
*wicket              <0.3>            --  Provides integration between Grails and the Wicket framework
 
*xfire              <0.7.4>          --  Add Web Service support for Grails services using XFire.
 
*xmlrpc              <0.1>            --  This plugin adds XML RPC functionality to GRAILS
 
*yui                <2.5.0>          --  Yahoo! User Interface Library (YUI)
 
*yui-widgets        <0.1>            --  Yahoo! User Interface Library (YUI) Widgets
 
 
 
To find more info about plugin type 'grails plugin-info [NAME]'
 
To find more info about plugin type 'grails plugin-info [NAME]'
  
第196行: 第145行:
  
 
For further info visit http://grails.org/Plugins
 
For further info visit http://grails.org/Plugins
 +
==GSP==
 +
<html>
 +
    <body>
 +
    <%-- This is my comment --%>  //  <%="Hello GSP!" %>  JSP-style comment
 +
    <%="Hello GSP!" %>
 +
    </body>
 +
</html>
 
==Ext==
 
==Ext==
 
[[Image:grails-ext-screen.gif|right|thumb|Grails Ext Userinterface]]
 
[[Image:grails-ext-screen.gif|right|thumb|Grails Ext Userinterface]]

2008年6月19日 (四) 06:10的版本

Grails.jpg

Grails关注将"规约编程"(coding by convention)引入Groovy。它是一个开放源网络应用构架, 对Groovy语言起到杠杆作用,并且对Java网络开发起到补足作用。你可以用Grails 作为独立开发环境, 它隐藏了所有的配置细节,也可以将它同和入你的Java商务逻辑。

Grails关注与使开发最简化,而且Grails的解决方案来自于广泛的开发者,不只局限于Java社区。

Grails构建在开源技术如SpringHibernateSiteMesh之上,提供了一个类似于Rails 的平台可以与Java平台无缝集成. Groovy是一种“动态”或指令语言。动态语言一般用来加速和简化程序撰写。与Python或Ruby等其他指令语言不同的是,用Groovy撰写的程序,可与Java虚拟器结合。

目录

Install

wget http://download.huihoo.com/grails/grails-bin-1.0.1.zip
GRAILS_HOME= C:\grails-1.0.1 or /usr/local/grails-1.0.1 
Add the "%GRAILS_HOME%\bin" directory to your PATH environment variable
Add the "%GRAILS_HOME%\ant\bin directory to your PATH environment variable.

grails create-app
input project name: my-project
cd my-project
grails create-domain-class
input domain name: Book

my-project\grails-app\domain\Book.groovy

class Book {
   String title
   String author
}

my-project\grails-app\conf\BootStrap.groovy

class BootStrap {
   def init = { servletContext ->
       // Create some test data
       new Book(author:"Stephen King",title:"The Shining").save()
       new Book(author:"James Patterson",title:"Along Came a Spider").save()
   }
   def destroy = {
   }
}

my-project\grails-app\controllers\BookController.groovy

class BookController {
    def scaffold = Book
}
grails run-app
http://localhost:8080/my-project/
http://localhost:8080/my-project/book
运行成功 :)

To upgrade your existing Grails projects you must run:

grails clean
grails upgrade

NetBeans

http://wiki.netbeans.org/groovy

CRUD

Create

def p = new Person(name:"Jack", age:32, lastVisit:new Date())
p.save()

Read

def p = Person.get(1)
assert 1 == p.id

Update

def p = Person.get(1)
p.name = "Peter"
p.save()

Delete

def p = Person.get(1)
p.delete()

GORM

One-to-one

class Face {
    Nose nose
}
class Nose {	 
	static belongsTo = [face:Face]
}
new Face(nose:new Nose()).save() // ok 
def f = Face.get(1)
f.delete() // both Face and Nose deleted

One-to-many

class Author {
   static hasMany = [ books : Book ]
   String name 
} 
class Book { 
   static belongsTo = [author:Author] 
   String title 
}

Many-to-many

class Book {
  static belongsTo = Author
  static hasMany = [authors:Author]
  String title
}
class Author {
  static hasMany = [books:Book]
  String name
}

GPath: Groovy's ability to manipulate collections via GPath and methods like sort, findAll and so on combined with GORM results in a powerful combination.

def books = Book.list()
def books = Book.list(offset:10, max:20)
def books = Book.list(sort:"title", order:"asc")
def book = Book.get(23)
def books = Book.getAll(23, 93, 81)
def book = Book.findByTitle("The Stand")

Usage

grails help

  • grails bootstrap
  • grails bug-report
  • grails clean
  • grails compile
  • grails console
  • grails create-app
  • grails create-controller
  • grails create-domain-class
  • grails create-integration-test
  • grails create-plugin
  • grails create-script
  • grails create-service
  • grails create-tag-lib
  • grails create-unit-test
  • grails doc
  • grails generate-all
  • grails generate-controller
  • grails generate-views
  • grails help
  • grails init
  • grails install-plugin
  • grails install-templates
  • grails list-plugins
  • grails package
  • grails package-plugin
  • grails package-plugins
  • grails plugin-info
  • grails release-plugin
  • grails run-app
  • grails run-app-https
  • grails set-proxy
  • grails set-version
  • grails shell
  • grails stats
  • grails test-app
  • grails upgrade
  • grails war

Plugins

grails list-plugins

To find more info about plugin type 'grails plugin-info [NAME]'

To install type 'grails install-plugin [NAME] [VERSION]'

grails install-plugin yui 2.5.0

For further info visit http://grails.org/Plugins

GSP

<html>
   <body>
    <%-- This is my comment --%>  //  <%="Hello GSP!" %>  JSP-style comment
    <%="Hello GSP!" %> 
   </body>
</html>

Ext

Grails Ext Userinterface
grails install-plugin ext or grails install-plugin ext 2.0.2
Ext has installed under your project's /web-app/js/ext/2.0.2

More Detail: http://grails.org/Ext+Plugin

Using ExtJS Layouts with Grails Layouts

GWT

grails install-plugin gwt
grails create-gwt-module <module> 
grails compile-gwt-modules
grails create-gwt-page
grails events
grails run-gwt-client

More Detail: http://www.grails.org/GWT+Plugin

JSON

def list = {
	def results = Book.list()
	render(contentType:"text/json") {
		books {
			for(b in results) {
				book(title:b.title)
			}
		}	
	}
}

Result

[
	{title:"ActiveRecord Tutorial"}, 
	{title:"Grails Tutorial"}
]

Tutorials

Build Your First Grails Project: A Grails-Powered Blog

NetBeans

Groovy and Grails 在开发版中已经可用 http://wiki.netbeans.org/groovy

开发版: http://deadlock.netbeans.org/hudson/job/trunk/lastSuccessfulBuild/artifact/nbbuild/dist/zip/

相关项目

Samples

http://svn.codehaus.org/grails/trunk/grails-samples/

相关链接

Grails logo.jpg
分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱