spring整合flex
在常规的开发中只是用flex二不和后台交互是不可能的,为此flex也提供了和后台交互的2种解决方案一种是Data Services另一种是BlazeDs,本篇博客是用的是后一种,我的开发步骤如下:
1.下载BlazeDs的war包,下载war包需要注册,下载地址如下:
https://www.adobe.com/cfusion/entitlement/index.cfm?e=lc_blazeds
2.解压或者部署war包,把WEB-INF下面的flex文件夹复制到项目的WEB-INF下面,把lib里面的所有jar包和目标项目合并
3.下载spring整合flex的jar包,下载地址是:
http://www.springsource.org/spring-flex/
下载好后把dist下面的jar包复制到项目的lib下面
4.编写处理后台数据的代码,java类也交给spring来处理,下面是我的xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"><bean id="flexPlanService" class="org.lxh.module.plan.flex.FlexPlanManagerImpl"> <property name="planManager" ref="planManager"/></bean>
</beans>
5.编写spring和flex交互的主要配置文件,文件名称见名知义就行,配置大致如下
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:flex="http://www.springframework.org/schema/flex"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://www.springframework.org/schema/flexhttp://www.springframework.org/schema/flex/spring-flex-1.0.xsd"><bean id="_messageBroker" class="org.springframework.flex.core.MessageBrokerFactoryBean" ><property name="servicesConfigPath" value="WEB-INF/flex/services-config.xml"/></bean> <!--spring mvc配置,所有请求都由_messageBroker处理--> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <value>/*=_messageBroker</value> </property> </bean> <bean class="org.springframework.flex.servlet.MessageBrokerHandlerAdapter"/> <!-- destination-id是目标ID 这个名称在mxml页面上会被用到--><flex:remoting-destination ref="flexPlanService" destination-id="flexPlanService"/></beans>
最后一行的ref熟悉就不介绍了,一般学过spring的都知道怎么用
6.在web.xml加入springmvc配置把上面的交互文件交给spring管理,配置如下
<!-- SpringMVC配置 --><servlet> <servlet-name>SpringDispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext-flex.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet><servlet-mapping> <servlet-name>SpringDispatcher</servlet-name> <url-pattern>/messagebroker/*</url-pattern> </servlet-mapping>
7.给项目添加flex支持
(1)鼠标右击项目,找到Add Flex project type,如下所示
(2)在出现的窗口选择下一步,如下所示
(3)点击“下一步”进入下一个配置界面
需要注意的是Root folder,这里选择项目的根目录即可,选好后要注意点击“validate configuration”按钮验证配置,验证成功后,点击finish之后可能会报错,在problems里找到error,右键点击选择重建html-template即可
(4)这一步是可选的,一般我们把flex的main source folder换成别的
(5)这一步也是可选的,我们一般把webcontent或者webroot作为flex的输出目录
改动之后也是需要验证的,验证成功即可
8.编写flex页面,我这里只是简单的用表格显示出所有的部门信息,页面代码如下
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="300" minHeight="300" initialize="init()"><fx:Declarations><!-- 这里的的destination对应spring配置文件里的destination-id--><s:RemoteObject id="planServiceRO" destination="flexPlanService" endpoint="/myssm/messagebroker/amf"><!-- name对应的是bean里的接口方法 result配置的actionscript类似回调函数--><s:method name="getAllPlan" result="getAllPlansSuccess(event)"/></s:RemoteObject> </fx:Declarations><fx:Script><![CDATA[import com.adobe.serialization.json.JSONimport mx.collections.ArrayCollection;import mx.controls.Alert;import mx.core.FlexGlobals;import mx.events.FlexEvent;import mx.events.ListEvent;import mx.managers.PopUpManager;import mx.rpc.events.FaultEvent;import mx.rpc.events.ResultEvent;private function init():void{planServiceRO.getAllPlan();}//把数据绑定到表格里,数据类型使用的是json,此处需要一个叫as3corelib.swc的类库文件 ,把它放在libs目录里即可private function getAllPlansSuccess(event:ResultEvent):void{var planData:ArrayCollection=new ArrayCollection(com.adobe.serialization.json.JSON.decode(event.result.toString()));planDataGrid.dataProvider=planData;}]]></fx:Script><mx:DataGrid id="planDataGrid" x="500" y="200" width="300" height="300"allowMultipleSelection="true" alternatingItemColors="[0xe3eaf2,0xe8f1f8]"><mx:columns><!-- dataField属性配置的是json的key --><mx:DataGridColumn dataField="fid" headerText="部门ID" showDataTips="true"/><mx:DataGridColumn dataField="fname" headerText="部门名称" showDataTips="true"/></mx:columns></mx:DataGrid>
</s:Application>
下面我把自己的业务实现类代码贴出来,这个方法拼接了json字符串
package org.lxh.module.plan.flex;import java.util.*;import org.lxh.module.plan.dao.PlanManager;
import org.lxh.module.plan.info.PlanInfo;public class FlexPlanManagerImpl implements FlexPlanManager {private PlanManager planManager;public PlanManager getPlanManager() {return planManager;}public void setPlanManager(PlanManager planManager) {this.planManager = planManager;}public String getAllPlan() {List<Map> json=new ArrayList<Map>();List<PlanInfo> all=planManager.getAllPlan();Iterator<PlanInfo> it=all.iterator();while(it.hasNext()){PlanInfo p=it.next();Map<String,Object> map=new HashMap<String,Object>();map.put("\"fid\"", "\""+p.getFID()+"\"");map.put("\"fname\"", "\""+p.getFNAME()+"\"");json.add(map);}return json.toString().replaceAll("=", ":");}
}
只有学懂了spring要整合spring是不是很简单呢,来看下我的效果图
下面再把我的ibatis配置文件贴出来给大家看看
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="PlanInfo"> <resultMap id="resultMap" type="org.lxh.module.plan.info.PlanInfo"><result property="fID" column="fID"/><result property="fNAME" column="fNAME"/></resultMap><select id="getAllPlan" parameterType="org.lxh.module.plan.info.PlanInfo" resultMap="resultMap"> select * from m_depart</select>
</mapper>
下面是我oracle里的数据表
spring整合flex相关推荐
- spring与flex blazed整合(一般方式或注解)
今天,无聊中,想把flex与spring整合起来,上网搜索资料,发现很多都一样,跟着动手一遍都不成功.最后终于成功了. 代码及jar都在附件中. 把ssh+flex整合后,却遇到一个问题: 把ssh和 ...
- flex java blazeds 注解_Flex+BlazeDS+Spring整合
Flex与服务器通讯有3中方式:HTTPService 组件访问HTTP服务,WebService 组件访问WebService服务,RemoteObject 组件访问Server端对象.第三种方法是 ...
- BlazeDS 整合 Flex HelloWorld 示例
开发环境: System:Windows WebBrowser:IE6+.Firefox3+ JavaEE Server:tomcat5.0.2.8.tomcat6 IDE:eclipse.MyEcl ...
- Strutsw2与Spring整合流程-简述
1. 新建WEB工程: 2. 导入struts2开发包,和资源配置文件 ① globalMessages.properties ② struts.properties 3. ...
- 最新Spring整合MyBatis详解教程
目录 1.导入相关jar包 1. junit 2. mybatis 3. mysql 4. spring相关 5. aop织入 6. mybatis-spring 7. lombok(选用) 2.回顾 ...
- Spring整合Struts2
①导入Struts2 jar包 ②在web.xml文件中创建过滤器 <?xml version="1.0" encoding="UTF-8"?> & ...
- shiro和Spring整合使用注解时没有执行realm的doGetAuthorizationInfo回调方法的解决
shiro和Spring整合使用注解时没有执行realm的doGetAuthorizationInfo回调方法的解决 from :http://blog.csdn.net/babys/article/ ...
- Spring整合CXF,发布RSETful 风格WebService
这篇文章是承接之前CXF整合Spring的这个项目示例的延伸,所以有很大一部分都是一样的.关于发布CXF WebServer和Spring整合CXF这里就不再多加赘述了.如果你对Spring整合CXF ...
- springMvc+mybatis+spring 整合 包涵整合activiti 基于maven
2019独角兽企业重金招聘Python工程师标准>>> 最近自己独立弄一个activiti项目,写一下整合过程: 环境:jdk1.7 tomcat7.0 maven3.5 ecli ...
最新文章
- 线程撕裂者安装linux,CPU-Z 1.90发布:初步支持三代线程撕裂者
- 为了探究不同光照处理_渭南市实验初中“诱思探究学导”课堂教学改革展示活动圆满成功...
- ArcGIS中合并(merge)、联合(union)、追加(append)、融合(dissolve)的用法区别与联系
- 一切为了开放科学!Papers with Code新增CS、物理、数学、统计学等多个学科
- 上位机通过串口获取单片机数据
- ASP.NET 1.1与ASP.NET 2.0 应用运行并存
- scrapy使用(无头)浏览器爬取动态网页
- Nginx基本数据结构之ngx_pool_t
- 游戏模型提取_腾讯手Q游戏中心的个性化推荐实战
- 干涉光强公式怎么计算_光强及计算
- java date dec_java – 将日期从“2009-12 Dec”格式转换为“31-DEC-2009”
- 实验1 Bean管理
- 运用gm/id法设计二级运放教程
- 《Effective Java》读书笔记五(枚举和注解)
- windows系统安全基础知识——系统进程与病毒
- 腾讯、抖音回应被判侵害用户信息;美团禁用支付宝;苹果称今年新iPhone将推迟数周发布 | EA周报...
- R Failed to install 'unknown package' from GitHub: schannel: failed to receive handshake, SSL/TLS
- SpringMVC基础二
- brpc学习笔记(1)
- 基于微信小程序的校园考研论坛设计与实现-计算机毕业设计源码+LW文档