Grails 1.0-RC2 发布

Grails1.0-RC2发布,看到新增不少功能,心中窃喜啊

现在简介一下主要变动:

[list]

移植到最新的spring2.5新的参考文档去官方文档,个人感觉挺舒服的,而且也很有条理内容协商(ContentNegotiation)支持Grails现在可以通过Accept/Content-TypeHTTPheaders,aparameterorURI扩展来提供支持,其MIME类型可以在Config.groovy配置       
grails.mime.types = [ html: ['text/html','application/xhtml+xml'],
                      xml: ['text/xml', 'application/xml']
                      // etc.
                    ]

那么在处理这个请求的时候,可以使用withFormat方法:

     
def list = {
    def results = Book.list()
    withFormat {
         html bookList:result
         xml { render results as XML }
    }
}
自动从XML/JSON中构建对象基于XML/JSON的请求现在可以通过params自动的构造对象,如以下XML请求:    
<book>
    <title>The Stand</title>
    <author>Stephen King</author>
    ...
  </book>

那在controller中可以这样使用:

    
def save = {
   def b = new Book(params['book'])
   if(b.save()) {
      // deal with book
   }
}
支持自定义外键字段的映射和JoinTableGrails的GORMDSL现在已经支持外键字段的映射和JoinTable,比如要改变one-to-one的外键可以这样做:  
class Book {
    Author author
    static mapping = {
        columns {
            author column:'auth_id'
        }
    }
}

你也可以单向的one-to-many或者many-to-many关联的jointable和columns,比如:

 
class Author {
    static hasMany = [books:Book]
    static mapping = {
        columns {
            books joinTable:[name:'authors_books', key:'book_id', column:'author_id']
        }
    }
}

[/list]

相关推荐