使用 Grails 开发 Google App Engine 应用
2010-06-24 00:00:00 来源:WEB开发网退出
对于已经登录的用户,同样可以使用 UserService 创建一个模拟退出的页面,用法如下:UserService. createLogoutURL(String returnUrl), 这里 returnUrl 的含义同上。
存储
可以在 Domain Class 中,将 Google 用户对象存储为特殊值类型 , 比如:User author
在开发阶段,UserService 创建的是一个模拟的登录页面,当应用程序发布到 GAE 平台上后,登录页面就会定位到 Google 的登录页面。
创建 DomainClass
在工程目录下执行 grails create-domain-class domainName,此时会根据 AppName\src\templates\artifacts\ DomainClass.groovy 创建 domainName。
如下是 Task 的 Domain Class 的示例代码:
清单 1. Task 的 Domain class
package mulan
import javax.persistence.*;
@Entity // 表示这个 domain 是一个实体
class Task implements Serializable {
@Id // 表示这是一个主键
@GeneratedValue(strategy = GenerationType.IDENTITY)
Long id
static constraints = {
id visible:false
}
}
缺省情况下主键类型是 Long,还可以使用 com.google.appengine.api.datastore.Key 。
由于 JPA 的 DataNucleus 实现在构建过程中使用后编译“增强(Enhance)”步骤使数据类与 JPA 实现相关联。在其他的 GAE 开发文档或者文章中,提到最多的两种方法是使用 Apache Ant,或者使用 Java 方法。而使用 GAE 插件,就可以不用操心 Enhance 的事情,因为执行 grails app-engine 命令时,插件会自动对数据类进行 Enhance。
更多精彩
赞助商链接