1.3.2版开始,CMSPAD正式支持Flex,也就是说Flex程序可以远程调用CMSPAD的Portlet模块。下面咱们看看它是怎么做的:
这是后台的Portlet代码,Flex调用函数以 flex 开头,有一个参数($params)用于传递远程Flex变量:
<?php
class FlexTest{
public function flexTest($params = array()){
return array("hello" => "world");
}
}
?>
首先,如果你是使用Flex Builder,需要先将CMSPAD包内的 kernel/lib/cmspad.swc 库导入到项目中,然后就可以通过使用 com.cmspad.Request 类来调用远程Portlet。 看看进行远程调用的Flex代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="598" height="416">
<mx:Script>
<![CDATA[
import com.cmspad.Request;
internal function mouseClick():void{
var obj:Object = new Object(); // 这里也可以是null值,说明不需要传递参数。
var request:Request = new Request();
request.setURL("http://localhost/CMSPAD.COM/index.php");
request.setPortlet("FlexTest");
request.setMethod("Test");
request.setCallback(callback);
request.send(obj); // 这里可以发送ActionScript对象,参数对应Portlet的$params数组变量。
}
internal function callback(obj:Object):void{
textArea.text = obj.hello;
}
]]>
</mx:Script>
<mx:TextArea top="10" left="10" right="10" bottom="40" id="textArea"/>
<mx:Button label="Test CMSPAD remote invoking" bottom="10" right="10" left="10" click="mouseClick()"/>
</mx:Application>
这样运行这个Flex应用程序并点击那个按钮就会看到:

此刻,用户就可以使用Flex很容易地调用CMSPAD的Portlet了。
CMSPAD项目地址:http://code.google.com/p/cmspad
从1.3.2版开始,CMSPAD支持Flex远程调用Portlet模块。本文介绍如何在FlexBuilder中引入cmspad.swc库,并通过com.cmspad.Request类实现对CMSPAD的远程调用。
1万+

被折叠的 条评论
为什么被折叠?



