//解释每句话
boolean isLockError = false;
      List confirmList = result.getResultDataList();
      Iterator confirmIterator = confirmList.iterator();
      while (confirmIterator.hasNext()) {      
        OmRemoteData confirmRemoteData = (OmRemoteData)confirmIterator.next();
        if (confirmRemoteData != null) {
          if (confirmRemoteData.containMessageCode("unit", "OME30003")) {
            isLockError = true;
            break;
          }
        }
      }

解决方案 »

  1.   

    List confirmList = result.getResultDataList();
          Iterator confirmIterator = confirmList.iterator();//以上两句不用解释了吧,取得迭代序列OmRemoteData 应该是自己定义一个类 ,Iterator 里面存的应该也是这种对象containMessageCode()是OmRemoteData的方法 具体干什么的不太清楚反正总的意思就是:从List中找符合containMessageCode的OmRemoteData ,如果有,isLockError = true;
      

  2.   

    boolean isLockError = false;  //定义逻辑型isLockError 的值为假
          List confirmList = result.getResultDataList();//把数据库读出的数据集合赋值给数组集合confirmList 
          Iterator confirmIterator = confirmList.iterator();//Iterator就是可以按照顺序访问一个集合所有元素的工具,使用这个要在文件前面加import JAVA.util.Iterator。这句意思就是把confirmList的数据赋给confirmIterator 中。
          while (confirmIterator.hasNext()) {  //当 confirmIterator没到结尾时就循环   
            OmRemoteData confirmRemoteData = (OmRemoteData)confirmIterator.next();//把confirmIterator的值赋给OmRemoteData 型(用户自定义的)的confirmRemoteData 
            if (confirmRemoteData != null) {//如果confirmRemoteData 不为空
              if (confirmRemoteData.containMessageCode("unit", "OME30003")) {//这个函数应该是用户自定义的,我是没用过,大概是检测confirmRemoteData中的字符串与"unit", "OME30003"的条件是否成立
                isLockError = true;//上面的条件成立就把isLockError 的值变为真
                break;//跳出循环
              }
            }
          }
    总的意思就是从数据库中查询是否有与containMessageCode("unit", "OME30003"))条件成立的数据,有成立的就把isLockError = true
      

  3.   

    boolean isLockError = false;    // 定义布尔值变量 isLockError  初始化 false
    //定义一个list类型的变量并把一个值(自己写的方法获取)赋给它
    List confirmList = result.getResultDataList();    
    Iterator confirmIterator = confirmList.iterator();//简单赋值语句
          while (confirmIterator.hasNext()) {    //遍历confirmIterator 
          //OmRemoteData 类型(自定义类)的confirmRemoteData 被赋值 后面有一个强制类型转换
            OmRemoteData confirmRemoteData = (OmRemoteData)confirmIterator.next();
            if (confirmRemoteData != null) {//不为空值
              //比较喽为真返回true
              if (confirmRemoteData.containMessageCode("unit", "OME30003")) {
                isLockError = true;
                break;
              }
            }
          } 里面肯定都是公司自己封装了的东西,找老总要去吧
      

  4.   

    OK,NEC开发的OME Frameworkboolean isLockError = false; // 判断是否lock error的flag
    List confirmList = result.getResultDataList(); // 从Result里面取出结果记录
    Iterator confirmIterator = confirmList.iterator(); // 循环的iterator
    while (confirmIterator.hasNext()) {  // 循环
    OmRemoteData confirmRemoteData = (OmRemoteData)confirmIterator.next(); // 取出当前数据
    if (confirmRemoteData != null) { // 假如非空
    if (confirmRemoteData.containMessageCode("unit", "OME30003")) { // 且unit错误(和具体页面上某个字段无关,而和业务逻辑有关)是OME30003错误。错误代码第4位是message类型,1正常,2警告,3错误,30003是
    このデータは他の端末で使用されています。しばらく待って再度、処理を実行してください。
    表明刚才某段代码执行select ... for update nowait的时候没有成功,该数据正被其他客户端进行更新处理中
    isLockError = true; // 更新前lock出错
    break; // 下面的检查就不必了
    }
    }
    }:D
      

  5.   

    几个OME的接口
    OmRemoteData是单条业务数据,里面保留若干字段,及其对应的错误信息OmMessageData,放在一个Map里;
    OmMessageData,字段名key,msg code,业务逻辑或者多个字段相关的错误用unit,code前3位随便,第4位是message类型,1正常,2警告,3错误
    OmFieldAttribute,用来从画面上接受单个字段的数据,里面就是封装了一个string,保证转换出错时,用户输入还在,同时提供一些简单的check方法。
    OmInput用来从request里面把单个参数解析到简单类型或OmFieldAttribute,进而到单个或多个OmRemoteData
    OmResult用来存放从业务逻辑里得到的若干个处理结果(OmRemoteData)
      

  6.   

    NEC开发的OME Framework???这个都知道 从事j2me的?
      

  7.   

    Open Meister(deutsch: master, or maybe a mistake) EnterpriseNEC早期开发的针对J2EE的开发框架,开始实现的时候做的比较好,但是后来标准还有其他开源世界进步了,它却越来越烂,有个OME for struts,完全是因为客户要求用struts,又要收钱而造,里面全是和struts-config, ActionForm,Action,功能重复的东西,而又同时存在。简而言之——脱裤子放屁小的不才,有一版OME版,framework里面有些代码是鬼子逼着我们几个一块儿写的,所以,楼主碰上我,算找对人了