join-cheer工作日志---------------------------------------------2010.8.2

2010.8.2

从7.26 日一直到今天8.2日,我一直在写一个通过webservice从另一家公司抓取数据的界面,从功能到界面,目前在公司学习到的东西基本都用到了,

比如         界面的布局,        界面的消息机制,   界面的动作机制, 服务的调用, 基础数据模型的使用.

下面做一下总结,其中,

 

调用webservice 的技术有:

  axis的客户端调用:

                       String strXml="";
                       Service theWebClientService=new Service();//起服务
                       Call theCall=(Call)theWebClientService.createCall();//
                       theCall.setTargetEndpointAddress(ServiceUrl);//参数为连接的webservice的url
                       theCall.setOperationName(method);//调用的方法的接口的名字
                       theCall.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//设置返回结果的类型
                       strXml=(String)theCall.invoke(args);//调用这个方法

 

解析xml 的技术有:

                       插件工程如何导入第三方jar包不会所以就复习了一下用了java 原生的解析xml方法 

                      sax方式:

                        重写DefaultHandler 里面的相关方法,元素前,元素后,.....

                         之后

                         SAXParserFactory spf = SAXParserFactory.newInstance();
                       SAXParser saxParser = spf.newSAXParser();
                     saxParser.parse(new File(filename), 重写的那个defaultHandler的类);

 

 

 

 

                      dom方式:

 

                               DocumentBuilderFactory builderFactory=DocumentBuilderFactory.newInstance();//生成一个工厂
                               DocumentBuilder builder= builderFactory.newDocumentBuilder();
org.w3c.dom.Document   document=builder.parse(new InputSource(new   ByteArrayInputStream(xmlStr.getBytes())));//处理xml字符串流

         最后,别人提醒,公司的bap里面内置了dom4 j这比较爽:一套element 循环遍历就完事了:

                           Document dom4jDocument = DocumentHelper.parseText(xmlStr);
                            Element root = dom4jDocument.getRootElement();

 

 

 

提取基础数据的方法有:

                        List<TableDefine> tableList = getContext().getList(TableDefine.class);
        for(int n = 0; n < tableList.size(); n++){
            if(tableList.get(n).getCategory() != null
                    && tableList.get(n).getCategory().equals("基础数据主体"))
            {
                ListItem item = new ListItem(this.controls.cbl_1.getList());
                item.setData(tableList.get(n).getName());
                item.setText(tableList.get(n).getTitle() + "|" + tableList.get(n).getName());
                // String field = tableList.get(n).getCategory();
                // System.out.println("Tablename:" + field + "||"
                // + tableList.get(n).getName());
            }
        }

 

获取指定基础数据表的字段:

                TableDefine define=    context.get(TableDefine.class, tableName);
               Iterator<TableFieldDefine> IT=(Iterator<TableFieldDefine>) define.getFields().iterator();
              while(IT.hasNext())
                  {  ....}

用基础数据模型的方法是:

                 //主表
    MasterDataDefine  masterDataDefine=context.get(MasterDataDefine.class, tableName);
        //基础数据模型指定主表
    BaseDataModel model=new BaseDataModel(context, (BusinessModelDefine)masterDataDefine);
    //对模型的添加 修改  删除操作..
严重的注意:数据模型的继承有点复杂,要用到它继承的那些方法,在插件工程中要把父类都导齐才能充分发挥

还有在画界面时从全局考虑,总的几行季列要心中有数.尽可能的多准备几行几列

 

缺乏的技术是Java 的输入输出流生疏了 ,collection  和 map 体系也只记得了 arraylist 和  hashmap  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值