添加增删改查操作

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

  

。。

Play Framework 完整实现一个APP(九)的更多相关文章

  1. Play Framework 完整实现一个APP(十一)

    添加权限控制 1.导入Secure module,该模块提供了一个controllers.Secure控制器. /conf/application.conf # Import the secure m ...

  2. Play Framework 完整实现一个APP(五)

    程序以及基本可用了,需要继续完善页面 1.创建页面模板 创建文件 app/views/tags/display.html *{ Display a post in one of these modes ...

  3. Play Framework 完整实现一个APP(二)

    1.开发DataModel 在app\moders 下新建User.java package models; import java.util.*; import javax.persistence. ...

  4. Play Framework 完整实现一个APP(十四)

    添加测试 ApplicationTest.java @Test public void testAdminSecurity() { Response response = GET("/adm ...

  5. Play Framework 完整实现一个APP(十三)

    添加用户编辑区 1.修改Admin.index() public static void index() { List<Post> posts = Post.find("auth ...

  6. Play Framework 完整实现一个APP(十二)

    1.定制CRUD管理页面 > play crud:ov --layout 替换生成文件内容 app/views/CRUD/layout.html #{extends 'admin.html' / ...

  7. Play Framework 完整实现一个APP(十)

    1.定制Comment列表 新增加Comment list页面,执行命令行 > play crud:ov --template Comments/list 会生成/app/views/Comme ...

  8. Play Framework 完整实现一个APP(八)

    创建Tag标签 1.创建Model @Entity @Table(name = "blog_tag") public class Tag extends Model impleme ...

  9. Play Framework 完整实现一个APP(六)

    需要为Blog添加 查看和发表评论的功能 1.创建查看功能 Application.java中添加 show() 方法 public static void show(Long id) { Post ...

随机推荐

  1. Easyui datagrid 显示隐藏列

    html:         <div style="float: left; width: 1450px; height:auto;  ">             & ...

  2. PHP中有关正则表达式的函数集锦

    之前学正则表达式的目的是想从网上抓取点小说啊,文档啊,还有获取相应的视频连接然后批量下载.当时初学PHP根本不知道PHP有专门抓包的工具,就像Simple_html_dom.php(在我的其他博文中有 ...

  3. NAS与SAN

    1. NAS(Network Attached Storage,网络附加存储服务器) 简单地说,NAS就是一台File Server,只要将NAS连接上网络,那么在网络上面的其他主机就能够访问NAS上 ...

  4. Repository 返回 IQueryable?还是 IEnumerable?

    这是一个很有意思的问题,我们一步一步来探讨,首先需要明确两个概念(来自 MSDN): IQueryable:提供对未指定数据类型的特定数据源的查询进行计算的功能. IEnumerable:公开枚举数, ...

  5. hibernate笔记--单向一对多映射方法

    上一篇讲的是单向多对一的表关系,与单向一对多的关系正好相反,如下图所示关系: ,可以看出年级表和学生表是一对多的关系,一条年级信息对应多条学生信息,在hibernate中成为单向的一对多的映射关系,应 ...

  6. 百度eCharts体验

    前言 从昨天开始给项目里添加一些图表对比功能,上一个项目里使用的是Highcharts,本打算继续用Highcharts做的,昨天试了下做出来的效果不太好,主要也是因为看的多了没什么新鲜感了,于是便尝 ...

  7. 为你带来灵感的 20 个 HTML5/CSS3 模板

    1. Curve 2. Tapestry 3. Aqueous 4. Deliccio 5. Respond 1.5 6. Triangle Responsive 7. Design Company ...

  8. redux+flux(一:入门篇)

    React是facebook推出的js框架,React 本身只涉及UI层,如果搭建大型应用,必须搭配一个前端框架.也就是说,你至少要学两样东西,才能基本满足需要:React + 前端框架. Faceb ...

  9. Nancy之Cache的简单使用

    一.前言 说起缓存,或许大家都不陌生,甚至是天天都在用!当然缓存也被分的越来越细,页面缓存.数据缓存.文件缓存等等. 其实呢,我个人觉得,主要还是两大类:数据的缓存和页面的缓存.数据缓存的话就包括所有 ...

  10. 基于DevExpress的Winform程序安装包的制作

    在我们做系统开发的时候,都会面临一个安装包制作的问题,如何把我们做好的系统,通过安装包工具整合成一个安装包给客户进行安装.安装包的优势就是一步步安装就可以了,不用复制一大堆文件给客户,还怕缺少那个文件 ...