根据域类自动生成view和controller
controller和view的大部分代码无需自己手动写,grails自动帮你完成,前提是域类的有你自己完成;
1)域类需要自己手工新建和修改
grails create-domain-class Project
2)自动生成controller和view
grails generate-controller teammgr.Project
grails generate-views teammgr.
Groovy的枚举类型匹配
1、用法说明:
比如status的值:0-未定义,1-确认,gsp页面的值是1,要将其转成“确认”
2、实现1
1)controller的定义一个变量map
def taskStatus = [0:"新建", 1:"处理中",2:"测试中", 3:"已解决", 10:"已关闭"]
2)action返回该参数
def list(Integer max) {
。。。
[taskStatus :taskStatus]
}
3)gsp调用
<td>${taskStatus[taskInstance.status]}</td>
注:taskInstance.status是域类的status值;
3、实现2
1)controller定义一个转换表doConvert
defdoConvert = {label, key->
switch(label){
case 'userID':
println"Task::doConvert>> label:"+ label + ",key:" + key;
defuserList = User.executeQuery("select id,username from User whereid=?", [key]);
for(userin userList){
println"Task::doConvert>> executeQuery,userlist:" + user[0] + "," + user[1];
returnuser[1];
}
case 'asbAlarmState':
}
2)action返回该参数
def list(Integer max) {
。。。
[doConvert:doConvert]
}
3)gsp调用
<td>${doConvert("userID",Long.valueOf(taskInstance.creator))}</td>