Groovy Grails domain实体类详解_属性校验排序【Grails中文教程】
1.创建实体model类的方法
grails create-domain-class User
2.创建的User实体类
实体类中添加:dataCreated ,grails在创建数据时会自动添加创建时间
实体类中添加:lastUpdated, grails将在每次更新时修改次字段的值
如果要关闭以上配置需要在mapping中添加 autoTimestamp false如下:
static mapping = {
autoTimestamp false
}
如果要按某以字段顺序排序 在mapping中添加 sort "startDate"
3.在实体类中设置字段在页面上的显示顺序
需要在constraints 中按顺序编写如下:
static constraints = {
userName()
password()
}
输入http://localhost:8080/demo/user/create 查看显示的字段顺序
4为字段属性增加验证信息 如长度、必须、大小范围 等限制
userName(blank:false,maxSize:50) //不允许为空,最大长度50
password(blank:false,password:true) //不允许为空,以密码显示
sex(inList:["F","M"]) //性别只能是 F和M
age(min:10,max:100) //年龄必须在10到100之间
grails校验时间时应该主意,
如:验证开赛时间不能小于当前时间的写法
不能在验证中直接使用new Date 因为给值会在程序启动时设置这个时间
需要使用闭包操作如下:、
static constraints = {
startDate(validator:{return (it > new Date())})
}
这样每次请求都会产生新的时间
5.grails 修改请求的项目名
修改application.properties中的app.name=userDemo ,把userDemo改成你请求的URL
6.输入grails generate-all
grails generate-all User 会产生一个完整的控制器和一组对应的GSP视图页面,
一个完整的增删改查代码就自动创建好,不需要自己在写多余的代码,非常便捷高效
7.controller类自动化创建
添加 def scaffold = true 对该属性提供了增删改查CRUD全部功能
运行 grails run-app 输入http://localhost:8080/demo/user/create 相关的试图和功能都有了
加入def scaffold = true 你看不到Gsp界面是如何写的,默认是不显示的,如果要暴露所有的视图、控制器
显示出来的命令需要运行:grails install-templates 这样就可以查看所有的代码细节