初學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中做驗證