初学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中做验证