这篇,将演示一个完整的crud操作,包括所有的jsp、配置文件和java类,可以看出使用jroo是不是真的很简单、很快速、很高质量。
这里使用演示程序中的“项目维护”作为例子。
1、项目维护的页面:
1.1、分页页面:
1.2、新增页面:
2、java类:
2.1、包结构:
从上面的图中可以看出,只有action、service和entity层,是没有dao层的,
2.2、entity类:
/**
* 项目实体
*/
@Entity
@Table(name = "OA_PROJECT")
@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
public class OaProject extends BaseEntity implements java.io.Serializable{
//项目编号
private String projectCode;
//项目名称
private String projectName;
//紧急程度
private String urgencyDegree;
//项目描述
private String projectDesc;
public OaProject(){
}
public OaProject(String id){
super(id);
}
@Column(name = "PROJECT_CODE", length = 50)
public String getProjectCode() {
return projectCode;
}
public void setProjectCode(String projectCode) {
this.projectCode = projectCode;
}
@Column(name = "PROJECT_NAME", length = 200)
public String getProjectName() {
return projectName;
}
public void setProjectName(String projectName) {
this.projectName = projectName;
}
@Column(name = "URGENCY_DEGREE", length = 10)
public String getUrgencyDegree() {
return urgencyDegree;
}
public void setUrgencyDegree(String urgencyDegree) {
this.urgencyDegree = urgencyDegree;
}
@Column(name = "PROJECT_DESC", length = 1000)
public String getProjectDesc() {
return projectDesc;
}
public void setProjectDesc(String projectDesc) {
this.projectDesc = projectDesc;
}
}
2.3、service:
service层一个接口,和该接口的实现类:
接口:
实现类:
请注意接口继承的接口,实现类继承的类;
从上面可以看出,接口中只有一个方法:保存或修改project,并上传附件;如果这个功能没有上传附件,接口中可以不要任何方法,所有方法将来来自父接口。
2.4、action
2.5、xml配置文件:
在hibernate.cfg.xml中配置:
在struts-oa.xml中配置:
在ao.query.xml中增加查询语句:
2.6、jsp: