TeamMgr-1.3 Grails&Groovy摸索篇

根据域类自动生成viewcontroller

controller和view的大部分代码无需自己手动写,grails自动帮你完成,前提是域类的有你自己完成;

1)域类需要自己手工新建和修改

grails   create-domain-class Project

2)自动生成controllerview

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>        

你可能感兴趣的:(TeamMgr-1.3 Grails&Groovy摸索篇)