flex1.5 学习笔记 1

原创 2005年04月24日 21:39:00

对于flex 的学习个人觉得主要 在于两个方面,一是 flex 丰富的标记库,能够轻松构造功能丰富的用户界面;另一方面,就是要学习flex 作为web app的表现层怎样和 多层应用中的 其他基层来通信。

flex 调用server JVM中的 javaBean 初步:

背景:
flex 可以通过三种方法来 使用 data service :一是 Web Service, 二是 Remote object service ,三是 http service, web service 只知道个大概,没有部署过,http service 觉得在一般的 三层应用中用的不多,就先研究了一下 Remote object service 。 Remote object service 说白了就是 flex 与 服务器端一般java 对象的交互,这些java对象 可以是 pojo(plain old java object)或者是 javabean 等任何没有被部署为 web service的对象。

标记:
在flex 中要使用remote java object 则通过使用 标记 <mx:RemoteObject .....> 来标识
RemoteObject 可以分为两类,named 和 unnamed , 这两个的区分在标记上的区别就是 <mx:RemoteObject  named = "....">  如果有named(这个是用来告诉flex 调用java 对象是哪个类的) 这个属性则这个RemoteObject是named的 。而如果没有named属性,那么必须要象<mx:RemoteObject  source= "....">一样有source属性(source = Package.ClassName 这个类是在flex 能找到的classpath下的 全限定名 如果在用的是tomcat 的话 这个classpath 就是../WEB-INF/classes 目录)。这两种用法在使用实质上有什么不同还不是很清楚,先不深究,继续往下看。

调用:
flex 与java object的通信就是 调用 java 对象的方法,这就涉及到参数怎么传递的问题了,flex中调用 java 对象的函数 传递参数有两种方法:1。显式 参数传递 就是象平时写java 代码一样把 参数写在函数的 参数列表中,看一个例子:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml">
   <mx:Panel>
    <mx:Label text="Msg: " />
    <mx:TextInput text="" id="msg" />
    <mx:Button label="Ok" click="data.setMsg(msg.text) "/>
  </mx:Panel>
 <mx:RemoteObject id="data" source="dataSourceExample"> </mx:RemoteObject>
</mx:Application>
当然 dataSourceExample 这个类的定义是:
public class dataSourceExample
{
 private String msg;
 public void setMsg(String msg)
 {
  this.msg = msg;
  show();
 }
 public String getMsg()
 {
  return msg;
 }

public  void show()
 {
  System.out.println(msg);
 }
}

最后一步:
这样flex 和java 类都写好了,就是运行了,但是还有一点要配置以下,就是要对../WEB-INF/flex目录下的flex-config.xml配置一下
<remote-objects>
       ........
       <whitelist>
            <!-- whitelist config for unnamed objects -->
            <unnamed>
                <source>samples.*</source>
                <source>samples</source>
               <source>*</source>
                <!--
                Uncomment the source element below to enable access to all classes
                during development.

                We strongly recommend not allowing access to all source files
                in production, since this exposes Java and Flex system classes.
                <source>*</source>
                -->
            </unnamed>

            <!-- whitelist config for named objects -->
            <named>
                <object name="SampleEmployeeRO">
                    <source>samples.explorer.EmployeeManager</source>
                    <type>stateful-class</type>
                    <allow-unnamed-access>true</allow-unnamed-access>
                </object>
            </named>
        </whitelist>
    </remote-objects>

刚刚说了 这个RemoteObject 中没有named属性, 那么这个是 unnamed 的RemoteObject  所以要在 remote-objects 下的whitelist 下的 unnamed 下 加一个<source>*</source> 以使classes 下的所有的class都能被访问。

运行:
在输入框中 输入后点击OK 后能在tomcat 终端看到传来的msg 被输出了。

另外一种传参方法:
除了以上显式传参,还可以用参数邦定的方法(argument binding): 在上面的 mxml代码的RemoteObject标记要改成:
<mx:RemoteObject id="data" source="dataSourceExample">
  <mx:method name="setMsg">
   <mx:arguments>
    <arg1>{msg.text}</arg1>
   </mx:arguments>
  </mx:method>
 </mx:RemoteObject>
代码意思显而易见,不多加解释了,在调用方法的地方 button的click事件 改为:click="data.setMsg.send()"
send方法一被调用 参数就被传到setMsg 方法中了

flex1.5又一怪事。

flex1.5怪事太多今天的怪事莫过于用createChild动态产生loader,loader不再load jpg图片。  在canvas里面for( var i in mshMp ){var cr...
  • sobluesky
  • sobluesky
  • 2006年07月13日 19:08
  • 633

OpenCV学习笔记大集锦

转载自: OpenCV学习笔记大集锦 – 视觉机器人 http://www.cvrobot.net/collect-opencv-resource-learn-study-note-chinese...
  • qq_26898461
  • qq_26898461
  • 2016年01月06日 09:49
  • 1430

myBatis学习笔记(1)——快速入门

在项目中使用myBatis 导入jar包 在src下创建配置文件
  • u010837612
  • u010837612
  • 2015年05月12日 11:06
  • 944

Flex1.5环境配置

虽然价格高,但无可否认!它是目前同类产品中最成熟的!系统环境:Flex1.5+tomcat5.5.6+windows2000Pro① JDK 1.5.0下载地址:http://java.sun.com...
  • PoPoTang
  • PoPoTang
  • 2005年04月08日 08:57
  • 1621

【机器学习-斯坦福】学习笔记1 - 机器学习的动机与应用

开始看Andrew Ng的经典课程机器学习,随堂做的学习笔记 机器学习的动机与应用 工具:需正版:Matlab,免费:Octave   定义(Arthur Samuel 1959): 在不直接针对问题...
  • maverick1990
  • maverick1990
  • 2013年08月29日 17:23
  • 16646

FPGA笔记(四)

FPGA笔记(四) 又到了周末,今天晚上感觉还有些状态,这几天状态都不好,也没有好好学习!这可是不行的,要好好努力!加油!Rome is not built in one day! 今天在看消抖的列子...
  • Struggle_For_M
  • Struggle_For_M
  • 2016年05月29日 21:24
  • 540

CUDA学习笔记(1)

CUDA从入门到精通(零):写在前面 在老板的要求下,本博主从2012年上高性能计算课程开始接触CUDA编程,随后将该技术应用到了实际项目中,使处理程序加速超过1K,可见基于图形显示...
  • u011534057
  • u011534057
  • 2016年05月06日 20:24
  • 1293

CS229机器学习笔记1

一个合理的学习问题应该这样定义:对于一个计算机程序来说,给他一个任务T和性能测量方法P,如果在经验E的影响下,P对T的测量结果得到了改进,那么就说该程序从E学习。 四个部分: - 监督学习 - ...
  • qq_33431611
  • qq_33431611
  • 2018年01月20日 11:49
  • 28

Ceres-Solver学习笔记(1)

Ceres-Solver笔记
  • HUAJUN998
  • HUAJUN998
  • 2017年07月26日 11:53
  • 936

opencv学习笔记(1)-opencv安装

1.opencv版本的选择
  • q6541oijhk
  • q6541oijhk
  • 2014年10月30日 11:10
  • 601
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:flex1.5 学习笔记 1
举报原因:
原因补充:

(最多只允许输入30个字)