• flex 通过htmlservices链接moss的rest(rest 的get post方式)



    一:flex debug(调试)——trace() ——moss导入

    flex学习:1、flex出现不能使用trace调试语句的问题,控制台无信息输出。这个问题不须要改动安装文件的參量。
    仅仅须要下载最新的flashplayer_12_ax_debug就可以。在执行时。不能通过Web应用程序进行调试,
    而应该按F11键进行调试,否则,相同不会输出信息。
     
    project整合
    假设把bin-debug 或者 bin-release 放到liferay的tomcat以下。就全然不用新建portlet了,直接加入功能里,
    加入一个bin-debug 或者 bin-release  /index.html就可以(index.html能够省略);
    另一种方法,就是把swf等相关的文件拷贝到portlet的某一个目录以下。这样jsp,html就能够和swf进行通信了
    导入mossproject时,普通project导入就可以,build path jar路径更改,再把applicationContext做对应的剪切粘贴;
    导入liferay project时。首先把project复制到portlets、theme以下,再按liferay project导入,
    build path jar (自己的tomcat/root下)。
     
    二:socket + httpservices 的通行学习


    moss 后台服务:@QueryParam("id") String id  这是通脱http的url传递參数的;
    @FormParam("id") String id 这是通过表单方式传递參数的;@GET  @POST方式,是指隐式调用參数还是显示调用參数,即get的參数在浏览器的url中显示。


    /**
         * @author zhangyapeng
         * @function定位服务浏览器地址栏測试方法——
         * @data 2014.06.10
         */
            @GET
            @Path("/locate")
            @Produces(MediaType.TEXT_PLAIN)
            public String locate2(@QueryParam("id") String id){
               
                Stringcmd = "locate,"+id;
                flexSocket.sendMessage(cmd);   
                return cmd;
            }
           
            /**
             * @author zhangyapeng
             * @function定位服务,liferay 调用
             * @data 2014.06.10
             */
            @POST
            @Path("/locate")
            @Produces(MediaType.APPLICATION_JSON)
            public void locate(@QueryParam("id") String id){
           
                //同上。

    。。
            }
    GET
    @Path("{contact}")
    @Produces(MediaType.TEXT_PLAIN)
    public String getres(@PathParam("contact") String contact)
    {
    return "Hello, " + contact;

    }

    总之。是(@PathParam("contact") String contact) 还是(@QueryParam("id") String id) 还是@(FormParam("id") String id)跟參数的传递方式有关 是url还是form表单提交;

    而这里@GET @POST是指 把查询的结果发送的方式。

    三:flex 的httpserviece :

    首先声明httpservice 进行声明
    <fx:Declarations>
           <!-- 将非可视元素(比如服务、值对象)放在此处 -->     
           <smt:MyPopup id="myPopup"/>
           <mx:HTTPService id="locateService"   method = "POST" useProxy="false"    resultFormat="text"  
                         fault="onFalutHandler(event)"result="onStemeEventResultHandler(event)"/>
        </fx:Declarations>
     
    之后,触发send()函数。。。
    // 依据id调用locateService(httpservice)
               private functiongetSmteEventById(id:String):void
               {
                 
                 
                  locateService.url =baseURL + "/getSmteEventById";
                  locateService.method= "POST";
                  var params:Object = new Object();
                  params.id= id;
                  locateService.request= params;
                  trace(locateService.url);
                  locateService.send();
               }
     
    全部的url 须要在配置文件里写,。,GridManageWidget.mxml RouteWidget.mxml(路径分析有问题的哦)  SocketWidget.mxml 在各自的xml中。当然自己也创建了一个CommonURL.xml。
    在更改config.xml的相应该就可以,config=""的属性值。。


    难题—— Search.mxml,是系统自带的,它的Search.xml中有好多图层的url,得自己改的哦。。 
    ----- 所以如今的解决方法是  通过config.xml总的系统配置文件,相应找config=""的属性值,更改各个url的。

  • 相关阅读:
    测试服务器centos7安装php7.2+composer
    开发工作流程
    CKEditor4多个span标签不合并的问题
    编程面试题
    vagrant常用命令
    设置apache服务器的访问证书,支持https访问,windows
    PHP5实现foreach语言结构遍历一个类的实例
    virtualbox虚拟机ubuntu操作系统,设置网络互通、访问,能访问虚拟机swoole的http服务
    二进制位运算
    dedecms学习笔记(1)--ShowMsg()
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/6978295.html
Copyright © 2020-2023  润新知