jroo,演示一个完整的增删改查

这篇,将演示一个完整的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:

 

猜你喜欢

转载自yeshujun.iteye.com/blog/1757448