WEB开发网
开发学院软件开发Java 精通 Grails: 用定制 URI 和 codec 优化 Grails 中... 阅读

精通 Grails: 用定制 URI 和 codec 优化 Grails 中的 URI

 2009-10-26 00:00:00 来源:WEB开发网   
核心提示: login 和 password 字段的作用不言自明;它们用来处理身份验证,name 字段用于显示的目的,精通 Grails: 用定制 URI 和 codec 优化 Grails 中的 URI(3),比如,如果用 jsmith 登录,因此,我们走 “刚刚好” 的路线,将会

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 中使用无存根 Users
import 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 = { 
 } 
} 

上一页  1 2 3 4 5 6 7 8  下一页

Tags:精通 Grails 定制

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接