我有一个域类:
class MyUser {
..
int sex
int qualification
int occupation
..
}
假设我想约束这些整数类别,例如:
occupation : [0:"not occupied", 1:"architect", 2:"student", 3:"policeman" and so on..]
我想在数据库上有整数值,并在我的视图中显示整数的字符串表示形式(这种行为可以自动搭建吗?)。
有没有办法以grails方式快速完成这项工作?
谢谢!
答案 0 :(得分: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"/>
这是未经测试但应该有效。享受。强>
答案 1 :(得分:0)
如果你愿意,你也可以使用map并通过控制器传递给它来查看....