添加增刪改查操做html
1.開啓CRUD Modulemvc
在/conf/application.conf 中添加app
# Import the crud module module.crud=${play.path}/modules/crud
在/conf/routes 中添加post
# Import CRUD routes * /admin module:crud
須要重啓Server,導入CRUD Module測試
2.添加控制器ui
/app/controllersspa
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 沒法解析爲類型 而且運行程序會提示錯誤code
解決辦法:orm
修改 conf/dependencies.ymlhtm
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=Title content=Content postedAt=Posted at author=Author post=Related post tags=Tags set name=Common name email=Email password=Password fullname=Full name isAdmin=User is admin
。。