浏览 2075 次
锁定老帖子 主题:CMSPAD支持Flex了!
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-09-25
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 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-09-27
从1.3.2.20080927版开始,Flex支持文件上传的操作。
前台Flex代码很简单:
... var file:FileReference = new FileReference(); ... // 设置文件路径等等 var obj:Object = new Object(); var request:Request = new Request(); request.setURL("http://localhost/CMSPAD.COM/index.php"); request.setPortlet("FlexTest"); request.setMethod("fileUpload"); request.setCallback(callback); request.upload(file, obj); ...
后台则跟正常表单提交一样,使用 $_FILES 来获取文件数据,上传的文件字段名称默认为:cmspad_flex_upload_file。 class FlexTest{ public function flexFileUpload($params){ ... return $_FILES['cmspad_flex_upload_file']; } }
这样,文件就正常上传了。 |
|
返回顶楼 | |