添加增刪改查操作
1.開啟CRUD Module
在/conf/application.conf 中添加
# Import the crud modulemodule.crud=${play.path}/modules/crud
在/conf/routes 中添加
# Import CRUD routes* /admin module:crud
需要重啟Server,導入CRUD Module
2.添加控制器
/app/controllers
import play.*;import play.mvc.*; public class Posts extends CRUD { }public class Tags extends CRUD { }public class Users extends CRUD { }public class Comments extends CRUD { }
可能會提示錯誤: CRUD 無法解析為類型 并且運行程序會提示錯誤
解決辦法:
修改 conf/dependencies.yml
require: - play - play -> crud
運行Shell
> play dependencies
工程下會生成 modules/crud 文件,重新啟動工程即可,但是編譯還是會出錯,可能是沒有引用crud工程的原因
3.創建Controller
package controllers;import models.User;@CRUD.For(User.class)public class AdminUsers extends CRUD {}
4.修改Model,添加驗證
以User為例
public class User extends Model { @Email @Required public String email; @Required @PassWord public String password; public String fullname; public String isAdmin; public String toString() { return email; }}
進入http://localhost:9000/admin/ 選擇add user進入 User Form進行測試
public class Post extends Model { @Required public String title; @Required public Date postedAt; @Lob @Required @MaxSize(10000) public String content; @Required @ManyToOne public User author; @OneToMany(mappedBy = "post", cascade = CascadeType.ALL) public List<Comment> comments; @ManyToMany(cascade = CascadeType.PERSIST) public Set<Tag> tags;}
public class Tag extends Model implements Comparable<Tag> { @Required public String name;}
public class Comment extends Model { @Required public String author; @Required public Date postedAt; @Lob @Required @MaxSize(10000) public String content; @ManyToOne @Required public Post post;}
5.頁面上顯示的Label名字是小寫,與對應類的字段名一致,如果想顯示大寫,可以修改/conf/messages
title=Titlecontent=ContentpostedAt=Posted atauthor=Authorpost=Related posttags=Tags setname=Common nameemail=Emailpassword=Passwordfullname=Full nameisAdmin=User is admin
。。
新聞熱點
疑難解答