0

我有一个域类:

class MyUser {

 ..

int sex
int qualification
int occupation

..
}

假设我想约束这些整数类别,例如:

occupation : [0:"not occupied", 1:"architect", 2:"student", 3:"policeman" and so on..]

我想在数据库中保存整数值,并在我的视图中显示整数的字符串表示形式(这种行为可以自动搭建吗?)。

有没有办法以 grails 的方式快速做到这一点?

谢谢!

4

2 回答 2

0

如果你愿意,你也可以使用地图并通过控制器将其传递给查看....

于 2012-06-09T06:45:21.747 回答
0

我建议使用一个对象来代表这样的职业......

class MyUser {
...
    int sex
    int qualification
    Occupation occupation
...
}

那么你的职业课应该是这样的......

class Occupation {
    ...
    String name
    ...
}

但是,如果你坚持使用枚举类型,你可以做这样的事情......

    public enum Occupation {
        GEEK(0, 'Geek'),
        NERD(1, 'Nerd'),

        final int id;
        final String name;

        Occupation (int id, String name) {
          this.id = id;
          this.name = name;
       }
    }

您的 MyUser 课程会像这样......

   class MyUser {
    ...
        int sex
        int qualification
        int occupation
    ...
    }

你gsp想要这样的东西......

 <g:select name="occupation" id="occupation"
                        from="${Occupation.values()}" 
                        value="${fieldValue(bean: user, field: 'occupation')}" 
                        optionKey="id"
                        optionValue="name"/>

这是未经测试的,但应该可以工作。享受。

于 2012-06-01T09:44:21.323 回答