您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PlayFramework完整实现一个APP(九)

2025/7/1 11:45:55发布21次查看
添加增删改查操作
1.开启crud module
在/conf/application.conf 中添加
# import the crud module
module.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=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
以上就是playframework完整实现一个app(九)的内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product