技术开发 频道

Java开源开发框架:Play框架快速入门

        六、建立部门跟员工之间的连接关系

  现在我们在建立了部门类和员工类后,可以开始建立它们之间的关联关系了。由于一个部门中是有多个员工,所以在员工类employee中,写入如下代码,建立两个类之间的关联: 

@ManyToOne

  
public Department department;

  这里依然使用了@ManyToOne的JPA注解去实现多对一的关系。在再次运行程序后,会发现,在增加员工时,会出现下拉菜单选择框,让其选择该员工属于哪一个部门。

  七、建立公司实体类和控制类

  最后,我们建立公司实体类和控制类。同样,在app/models目录下,建立Company类如下:

package models;

  import javax.persistence.Entity;

  import play.db.jpa.Model;

  @Entity

  
public class Company extends Model {

  
public String name;

  
public String address;

  
public boolean isPublic;

  }

 

  company的控制层类代码如下:

package controllers;

  import models.Company;

  @CRUD.For(Company.class)

  
public class Companies extends CRUD

  {

  }

  这里要提醒一点的是,由于company的复数是companies,而play框架原先约定俗成的是在实体类名后直接加字母s,所以这里使用了注解 @CRUD.For(Company.class),以表明该控制类文件Companies是为company实体类服务的。

  同样,一个公司里有许多部门,因此在Deparment部门类中,建立如下的多对一关系:

@ManyToOne

  
public Company company;

 

  再次运行程序,可以看到,现在三个实体类都建立起来了,可以分别对公司,部门和员工进行CRUD操作,如下图:

  八、优化列表

  我们在查看每个实体类的列表时,发现在列表中,会把每条记录的id都显示出来,这个在程序中假设不需要看到id字段的话,可以通过修改代码实现,比如在Company类中,增加toString方法即可:

public String toString() {

  return name;

  }

 

  而在Department和Employee类中,可以采用同样的方法,以不显示它们的id字段。

  九、增加校验规则

  在输入数据时,校验规则是必不可少的,在play框架中,可以很方便地使用注解来增加校验规则,比如在员工类中,可以要求输入的fullName字段内容不能超过100个字符,而且fullName字段不能为空,则在Employee类中,增加如下代码即可:

@Required @MaxSize(100) public String fullName;

 

  下面列出一些常见的校验规则:

  •   @Email 校验email合法性
  •   @InFuture 检验是否将来的日期
  •   @InPast 检验是否是过往的日期
  •   @Match 对正则表达式的判断
  •   @Max 最大值
  •   @Min 最小值
  •   @Range 检验范围
  •   @URL 检验是否URL

  十、改变列表的显示格式

  在默认情况下,比如查看employee列表,只能看到employee的名称字段,假设要在列表中看到每条记录的每个字段的话,要修改下play的模版,方法如下:

  1 停止现在的服务,CTRL-C停止。

  2 在命令行下,输入:

play crud:ov --template Employees/list

 

  这将在app/views/Employees目录下新建立一个list.html的页面。

  3 重新输入play run,并切换到eclipse中的项目中,按F5更新页面。

  4 在eclipse中,打开app/views/Employees/list.html,这个是雇员列表的模版文件。

  5 在该页中,找到id=”crudListTable”部分,修改为:

  

#{crud.table fields:['fullName', 'dateOfHire', 'salary'] /}

 

  即显示完整所有字段。

  6 重新运行程序,即可看到效果,如下图,可以看到,能看到所有字段值。

  十一、改变列表中标题的显示

  在默认状态下,列表中显示的字段标题是用实体类中的名称的,假如想把fullName修改位Full Name的话,可以在conf/messages下,增加:

  fullName=Full Name

  即可,如下图显示:

  小结

  在本文中,我们学习了如何使用Play框架的脚手架功能,快速搭建CRUD的应用原型。Play框架的配置方法简化了工作代码量。目前Play框架正在不断的完善中,读者可以根据本教程的指引实际操作后,进一步阅读官方文档加以深入学习。参考文章:http://www.playframework.org/documentation/1.2.2/evolutions

0
相关文章