仿照Flexstroe3写的一个员工管理应用 (三)
?本篇的主要包括两部分内容。?? ? 1. 服务器端的文件结构及基础代码。?? ? ?2. 实现员工信息的保存。 ?
?知识点:
?? ? ?1. 与java端交互
?? ? ?2. flex上传图像
?? ? ?3. 自定义事件
?? ? ?4. 验证表单
?? ? ?5. 基本的动画效果
?
?
一、?服务器端的文件结构及基础代码
?? ?1. 文件结构说明。
??2. 切换到Flash透视图,新建一个名为views.personnel的包。在其在下面建一个名为BasicInfo的NavigatorContent组件。具体内容请参照附件。??3. ?来看看泰头像处理这部分。首先定义一个id为headtrait的Image,将其source绑定到类型为ByteArray的headtraid,当图像传到浏览器后便会将其显示为图片。<mx:Image id="headtrait" source="{employee.headtraid}" width="150" height="155"/>
<s:Button label="选择头像" id="btnSelectImage" click="selectImage()"/>??4. 验证表单。将FormItem中的required属性置为true, 使其在界面中显示红色的*。在非可视元素中定义一个StringValidator。并且在整个组件的creationComplete事件中,将validate_ename加入到事先定义的validatorArr数组当中(/commonAs/validate.as文件)。 ?在需要验证的时候调用validateForm()函数即可。<mx:StringValidator id="validate_ename" source="{ename}" property="text" required="true" requiredFieldError="员工姓名不能为空!" />
5. 调用java端方法。在非可视元素中声明一个RemoteObject.<s:RemoteObject id="employeeManager" destination="employeeManager"showBusyCursor="true" fault="faultHandler(event)"><s:method name="add" result="onAdd(event)"/><s:method name="update" result="onUpdate(event)"/></s:RemoteObject>
直接使用java端的方法即可。public function set employee(employee:Employee):void{this._employee = ObjectUtil.copy(employee) as Employee;var rotate3D:Rotate3D = new Rotate3D();rotate3D.angleXFrom = 0; rotate3D.angleXTo = 0;rotate3D.angleYFrom = 0; rotate3D.angleYTo = 360;rotate3D.angleZFrom = 0; rotate3D.angleZTo = 0;rotate3D.autoCenterTransform = true;rotate3D.autoCenterProjection = true;rotate3D.target = headtrait;rotate3D.play();}?8. 对主应用程序icecream.mxml做简单的修改。加入自定义组件<personnel:BasicInfo />。创建好数据库之后,启动tomcat,试着添加一条数据,然后到数据库看看。