Flex与SSH集成

Flex与SSH集成  

2010-06-26 11:00:36|  分类: flex |举报|字号 订阅
Flex与SSH集成
1,下载blazeds_bin_3-0-0-544.zip 包,将其解压 取下blazeds.war包 更改为blazeds.rar ,并解压
2 将上一步解压的web-inf/lib/下的包复制到工程的lib下
3,将flex文件夹 复制到工程的web-inf下
4 将classes下的文件复制到工程的src下
5在web.xml中加入

<!-- flex -->
 <servlet>
    <servlet-name>flex</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
         <param-name>contextConfigLocation</param-name>
           <param-value>/WEB-INF/classes/flex-application-config.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>flex</servlet-name>
    <url-pattern>/ssh/*</url-pattern>
</servlet-mapping>
<!-- end flex -->
6,在src下建一个flex-application-config.xml文件
加入
<?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/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/flex
http://www.springframework.org/schema/flex/spring-flex-1.0.xsd">
<flex:message-broker/>
<!— 下面是表示 在spring配置文件中配置的bean-->
<flex:remoting-destination ref="flowServer"/>
</beans>
以下内容
6,加入flex与spring所依赖的包
Flex与SSH集成 - 花落谁家 - zhangcb666的博客

7 编写 java 类

1>    编写类体DeptNode.class

package com.svse.entity.bean;

import java.util.ArrayList;
import java.util.List;
/***
*  注: 此类可以不用和Flex映射 ,因为在Flex端,我们不用把Object对象强转为此对象
**/
public class DeptNode {

    private int id;
    private String name;
    private DeptNode parent;

    private List<DeptNode> children = null;

    public DeptNode(){}
    public DeptNode(int id ,String name){
       this.id = id;
       this.name = name;
    }
    /*************get and set 省略****************/

}
2>    编写接口IflowServer.class
package com.svse.server;

import java.util.List;
import com.svse.entity.bean.DeptNode;

public interface IFlowServer {
              //得到部门
       List<DeptNode> getDeparts(int deptId);
}

3>    编写实现类
package com.svse.server.impl;

import java.util.List;

import com.svse.entity.bean.DeptNode;
import com.svse.server.IFlowServer;

public class FlowServer implements IFlowServer {

    //得到部门
    public List<DeptNode> getDeparts(int deptId){
       List<DeptNode> list = new ArrayList<DeptNode>();
       DeptNode node = new DeptNode();
       node.setId(00);
       node.setName("父节点11");
       node.setChildren(this.getChild(3, "aa"));

       list.add(node);

       DeptNode node2= new DeptNode();
       node2.setId(11);
       node2.setName("父节点22");
       node2.setChildren(this.getChild(5, "bb"));

       list.add(node2);

       return list;
    }

    private List<DeptNode> getChild(int count,String name){
       List<DeptNode> list = new ArrayList<DeptNode>();
       for(int i = 0; i < count; i++){
           DeptNode node3 = new DeptNode();
           node3.setId(i);
           node3.setName(name+""+i);
           list.add(node3);
       }
       return list;
    }

    }
}

8 在spring中注入
<bean id="flowServer" class="com.svse.server.impl.FlowServer"/>
注:此处的Id,就是在flex-application-config.xml中的
<flex:remoting-destination ref="flowServer"/>配置的ref值

9 编写flex代码

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
    <mx:Script>
       <![CDATA[
           import mx.rpc.remoting.mxml.RemoteObject;
           import bean.FileAction;
           import mx.collections.ArrayCollection;
           import mx.rpc.events.FaultEvent;
           import mx.rpc.events.ResultEvent;
           import mx.controls.Alert;
           /**
            * 从服务器请示数据
            * */
           function loadDept():void{
              var remote:RemoteObject = new RemoteObject();
              remote.destination="flowServer";
              remote.endpoint="/ssh2-flex/messagebroker/amf";
              remote.getDeparts(1);
              remote.addEventListener(ResultEvent.RESULT,resultHander1);
              remote.addEventListener(FaultEvent.FAULT,fault);
           }
           /**
            * 请示成功后,调用的方法
            * */
           function resultHander1(event:ResultEvent):void{
              //在此只用转化为集合对象,不用考虑集合对象中的对象
              var list:ArrayCollection = event.result as ArrayCollection;
              this.deptList.dataProvider = list;
           }
           /**
            * 初 始化
            * */
           function init():void{
              var xmlArray:ArrayCollection = new ArrayCollection([
                     {"name":"上海","selected":false,"children":[{"name":"黄浦","selected":false},
                                                      {"name":"浦东","selected":false}]},
                     {"name":"北京1","selected":false,"children":null}
                  ]);
              //Tree对象默认会取chilren为子节点

              deptList.dataProvider = xmlArray;
           }

           /**
            * 出错后调用的方法
            * */
           function fault(event:FaultEvent):void{
              Alert.show("error");
           }
           /**
            * 双击调用的方法
            * */
           function showMsg():void{
              var st:String = deptList.selectedItem.id +" "+deptList.selectedItem.name;
              Alert.show(st);
           }
       ]]>
    </mx:Script>
    <mx:Label />
    <mx:HBox>
       <mx:Button  label="加载数据" click="loadDept()" fontSize="14" />
       <mx:Tree id="deptList" labelField="name" width="200" height="300" itemDoubleClick="showMsg()" />
    </mx:HBox>
</mx:Application>
注:Java类加也可返回xml格的数据,供flex调用,具体请查看相关文档
时间: 2024-10-06 14:07:12

Flex与SSH集成的相关文章

SSH集成Pushlet

首先是需要的资源: 1).pushlet.jar 2).ajax-pushlet-client.js 第一步.web.xml配置servlet <servlet> <servlet-name>pushlet</servlet-name> <servlet-class>com.newgsn.tvmall.pushlet.servlet.Pushlet</servlet-class> <load-on-startup>1</load

SSH集成过程中遇到的问题及解决

1.出现了下面问题 页面显示为 1 Struts Problem Report 2 Struts has detected an unhandled exception: 3 4 Messages: could not initialize proxy - no Session 5 could not initialize proxy - no Session - Class: org.hibernate.proxy.AbstractLazyInitializer File: AbstractL

SSH集成——初级

一. struts2.x --- spring 3.x ---hibernate 3.x 1. 导入jar包:25个 mysql:一个jar spring:16个jar hibern:8个jar 2. 配置spring的applicationContext.xml文件 a) jdbc.properties的配置 <context:property-pl…… location=”classpath:jdbc.properties” ...... 关联配置文件: b) 连接池:数据源配置 <bea

Java-解决SSH集成时,oracle报错:Error while registering Oracle JDBC Diagnosablility MBean

今天在做项目练习时,在集成SSH后,发现控制台有oracle的报错: Error while registering Oracle JDBC Diagnosability MBean. javax.management.MalformedObjectNameException: Invalid character ' ' in value part of property at javax.management.ObjectName.construct(ObjectName.java:602)

SSH集成log4j日志环境

第一步:在web.xml初始化log4j <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <context-param> <param-name>log4jConfigLocatio

SSH集成(Struts+Spring+Hibernate)

环境:struts2.3.Xspring4.0.0hibernate4.2 思路:从下开始往上集成;层与层之间没有关系;在集成的时候,只关注当前集成的那个层的内容; 1,创建一个空的web项目;重新定位class文件编译路径2,设置项目的编码;3,完成domain;4,完成映射文件;5,写DAO接口;6,写DAO实现 1),拷包(hiberante/required,数据库驱动,springcore/test/bean/context); 2),spring配置文件: 1),配置datasour

JavaEE SSH集成框架(两) struts2 本地加载dtd文件,action组态

1. 载入中struts2的dtd文件.使struts.xml网络无法验证,和eclipse有技巧 在src在创建struts.xml: <? xmlversion="1.0"encoding="UTF-8"? > <!DOCTYPE strutsPUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts

SSH集成org.springframework.beans.factory.BeanDefinitionStoreException: IOException

系统环境:JDK8+Eclipse4.4+Tomcat7.x+Spring4.1.3+Hibernate4.3.7+Struts2.3.20,我的配置文件均存放在src目录下. 首先Spring默认配置文件是applicationContext.xml,如果不叫这个名,那就需要额外指定了,指定方式是在web.xml文件中加入: <param-name>contextConfigLocation</param-name>和<param-value>classpath:be

SSH集成项目,使用注解方式,竟然还有这样的问题!!

在applicationContext.xml文件中,配置了hibernate的相关信息,其中SessionFactory是这样的 <bean id="sessionFactory"         class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">         <property name="dataSource&qu