- Jonit Groovy/Java コンパイル
- Spring Web Flow Integration
- スコープサービスを許容するSpringスコープへのサポート
- 自動XML/JSONマーシャリングとRESTful URLマッピングを伴い向上したRESTのサポート
- コンベンションにより可能ではない設定用の新たなConfig DSL
- 新しくなったインターフェースとブランディング
- Sitemeshインラインデコレーターをサポート
- コントローラがライブラリをメソッドとして呼び出し可能
- 新たなGSPタグ
- スタートアップタイムのスピード、ユニットテスト、ジェネレーションツールにおける大幅な改善
Spring Web Flow Integration
従来のXMLよりもむしろコード経由でSpringマネージビーンを定義する新たな方法をRod Johnsonが提案したように、GraemeはGroovyでSpring Web Flowを定義(サイト・英語)する前者に類似したアプローチを取っている。
showCart {
on("checkout").to "enterPersonalDetails"
on("continueShopping").to "showCatalogue"
}
enterPersonalDetails {
on("submit") {
def p = new Person(params)
flow.person = p
def e = yes()
if(p.hasErrors() || !p.validate())return error()
}.to "enterShipping"
on("return").to "showCart"
on(Exception).to "handleError"
}
enterShipping {
on("back").to "enterPersonalDetails"
on("submit") {
def a = new Address(params)
flow.address = a
if(a.hasErrors() || !a.validate()) return error()
}.to "enterPayment"
}
上記の一例はJBossSeamフレームワークで説明したように、作業ユニットか”対話”を定義する概念を描いている。Seamと同様に"フロー"には対話のステート情報を含んでいる。
オートマチックXML/JSON マーシャルとRESTful URLマッピング
以前はコンバージョン用にプラグインを使用していた一方、このリリースでは下記のものを使用している。
import grails.converters.*原文はこちらです:http://www.infoq.com/news/2007/09/grails06
...
def list = {
render Book.list() as XML
// or render Book.list() as JSON
}