点击这里给我发消息 点击这里给我发消息

OpenJWeb中使用webwork的校验框架的说明

添加时间:2013-12-7
    相关阅读: 方案 页面 框架

    WebWork中可以使用两种方式实现数据保存之前的校验,一种方式是针对每个action写一个校验的xml配置文件,例如对于BaseAction.java,就要在同目录下建立一个BaseAction-validation.xml,另外一种方式就是BaseAction实现Validateable接口,在validate方法中使用addFieldError(fieldName,message);构造字段-错误信息对照.

        使用xml的方式有个问题就是:如果更改或添加校验规则需要重新装载部署xml文件,另外还有一个问题,OpenJWeb的BaseAction是一个处理所有实体类的action,换句话说,BaseAction是一个通用的,不是针对具体实体类的action(BaseAction中的增删改查相关方法的参数都是抽象实体类),,所以不适合将不同表字段的校验配置写到同一个BaseAction-validation.xml中,第二种方案是更好的选择,下面介绍实现方式:

    BaseAction中的validate的方法中的代码片段:

      list = CommonValidate.validate(this.container.getEntity(this.entityClassName),this.operate);
     if(list!=null&& list.size()>0)
       {
        String fieldName = ((LabelValueBean)list.get(0)).getValue();
        String message = ((LabelValueBean)list.get(0)).getLabel();
        addFieldError(fieldName,message);
        //返回输入页面的时候填充下拉列表字段
           map = JspBuffer.getListMaps(this.entityClassName, true, request);
          request.setAttribute("map",map);
       }

       CommonValidate类是读取当前实体类的字段配置信息,也就是从字段基本信息表eas_meta_column中遍历字段,

    因为这个表中有是否可空,是否唯一的配置,所以当比较当前实体类当前字段如果不符合eas_meta_column中定义的

 

[1] [2] 下一页

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册