`
redwave
  • 浏览: 39748 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Grails语法及Dos命令(不断添加中)

阅读更多

初学Groovy&Grails把一些在网上看到的技巧和语法记录下来,以便后查

Dos命令:
1.grails create-domain-class Member//Member为 表名or类名
2.grails generate-all Member //为Member创建 Controller 和 View
语法:
1.  static constraints = {
        name(size:3..20,blank:false,unique:true)
        email(email:true,blank:false)
        gender(inList:["F", "M"] )
    }


2. 如果表之间有主外键关系的话,在类中是如下表现的
    (1) 一对多  static belongsTo = [Team] //Team为表或类名
    (2) 多对一  static hasMany = [members:Member]  在Member类中的属性需要包含Team team


3. 在Controller中取表单值的方法
    (1) def member = new Member(params)  或 member.properties = params
         个人感觉这种方式适合表单中的参数属于一张表,如果提交的参数属于多张表应使用方法(2)
    (2) def member=new Member()  member.email=params.email
    (3) 赋值给javaBean即java实体类
         JMember member = new JMember()  
         bindData(member,params)  //binData会自动绑定javaBean并填充数据
    (4)如果某一表单提交不是为了保存数据到数据库中,则不能使用 Domain Class,应使用Command Object,在src\groovy中创建XXXCommand的Groovy类,如SearceCommand.groovy,在Controller中引用,如下:

class MemberController {
    def search = { SearchCommand cmd ->
        if (cmd.hasErrors()) {
            redirect(action:'error')
        } else {
            // do something else
        }
    }
}

在SearceCommand.groovy中做验证

分享到:
评论
1 楼 netlzh 2009-02-24  
请问一下
 static hasMany = [members:Member] 

里面的members是什么语义?

相关推荐

Global site tag (gtag.js) - Google Analytics