精通 Grails: 用定制 URI 和 codec 优化 Grails 中的 URI
2009-10-26 00:00:00 来源:WEB开发网login 和 password 字段的作用不言自明;它们用来处理身份验证。name 字段用于显示的目的。比如,如果用 jsmith 登录,将会显示 “Jane Smith”。正如您所见,User 和 Entry 之间存在着一对多的关系。
将 static belongsTo 字段添加到 grails-app/domain/Entry.groovy,以完成一对多的关系,如清单 2 所示:
清单 2. 向 Entry 类添加一对多的关系class Entry {
static belongsTo = [author:User]
//snip
}
我们注意到,在定义关系时,可以很容易地重命名此字段。User 类具有一个名为 entries 的字段。Entry 类现在具有一个名为 author 的字段。
通常,在此时,都会创建一个相关的 UserController 以提供一个完整的 UI 来管理 Users。我却没有打算这么做。我只是想用几个无存根的 Users 作为占位符。在下一篇 精通 Grails 的文章中,您将更为全面地了解用户身份验证和授权的相关内容。因此,我们走 “刚刚好” 的路线,通过使用 grails-app/conf/BootStrap.groovy 添加几个新用户,如清单 3 所示:
清单 3. 在 BootStrap.groovy 中使用无存根 Usersimport grails.util.GrailsUtil
class BootStrap {
def init = { servletContext ->
switch(GrailsUtil.environment){
case "development":
def jdoe = new User(login:"jdoe", password:"password", name:"John Doe")
def e1 = new Entry(title:"Grails 1.1 beta is out",
summary:"Check out the new features")
def e2 = new Entry(title:"Just Released - Groovy 1.6 beta 2",
summary:"It is looking good.")
jdoe.addToEntries(e1)
jdoe.addToEntries(e2)
jdoe.save()
def jsmith = new User(login:"jsmith", password:"wordpass", name:"Jane Smith")
def e3 = new Entry(title:"Codecs in Grails", summary:"See Mastering Grails")
def e4 = new Entry(title:"Testing with Groovy", summary:"See Practically Groovy")
jsmith.addToEntries(e3)
jsmith.addToEntries(e4)
jsmith.save()
break
case "production":
break
}
}
def destroy = {
}
}
- ››精通Photoshop之通道详解
- ››定制个性化的对话框窗口类
- ››定制 SWT/RCP 界面:如何编写一个漂亮的 SWT/RCP ...
- ››定制基于 Visual studio 2005 平台 Windows CE(AR...
- ››定制版黑雨 blackra1n 越狱3.1.2 全系 iPhone
- ››定制 Eclipse RCP 应用程序,第 1 部分: 可与 SWT...
- ››精通 Grails: 使用 Grails 进行单元测试(单元测试...
- ››精通 Grails: 创建自定义插件
- ››精通 Grails: 在企业中使用 Grails
- ››精通 Grails: Grails 与移动 Web
- ››精通 Grails: Grails 与遗留数据库
- ››精通 Grails: RESTful Grails
更多精彩
赞助商链接