- 浏览: 39976 次
- 性别:
- 来自: 成都
最新评论
-
hyf1844:
太感谢了,找了几天,终于找到一个可以用的了。。
extjs 5 combogrid控件 -
sword_happy:
今天做ExtJs6的comboGrid,找了好久.可以使 ...
extjs 5 combogrid控件 -
liqinaccp:
不错,加油
ORACLE表查询结果转置(固定列) -
Garlic_90:
帆软报表的话感觉图标种类更多更丰富一些
ireport 4 饼图制作过程(2) -
shua1991:
伤不起,配置文件太麻烦了,看别人写的文件都看不下去,何况要自己 ...
又用了一段时间MAVEN
环境:
flashbuilder
eclipse ee
flex sdk4
flex环境整合在另一篇文章里,进入正题
/********************************************************************/
1.建立工程:
新建flex项目,内容填写如下:
注意修改输出文件夹
接下来的设置需要修改的地方是输出文件夹url和主应用程序文件如图:
点击完成,这个时候会建立一个flex项目,项目结构如图:
好了,现在可以部署到服务器,但你会发觉有错误,web context路径错误,在项目上右键->属性->web project settings
,修改Context root如图:
至此告一个段落.
修改web.xml文件,加入如下内容(如果没有,有的话更好)
<!-- begin rds --> <servlet> <servlet-name>RDSDispatchServlet</servlet-name> <display-name>RDSDispatchServlet</display-name> <servlet-class>flex.rds.server.servlet.FrontEndServlet</servlet-class> <init-param> <param-name>useAppserverSecurity</param-name> <param-value>false</param-value> </init-param> <load-on-startup>10</load-on-startup> </servlet> <servlet-mapping id="RDS_DISPATCH_MAPPING"> <servlet-name>RDSDispatchServlet</servlet-name> <url-pattern>/CFIDE/main/ide.cfm</url-pattern> </servlet-mapping> <!--end rds -->
此时完整的web.xml应该如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>myflexweb</display-name>
<context-param>
<param-name>flex.class.path</param-name>
<param-value>/WEB-INF/flex/hotfixes,/WEB-INF/flex/jars</param-value>
</context-param>
<!-- Http Flex Session attribute and binding listener support -->
<listener>
<listener-class>flex.messaging.HttpFlexSession</listener-class>
</listener>
<!-- MessageBroker Servlet -->
<servlet>
<servlet-name>MessageBrokerServlet</servlet-name>
<servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>
<init-param>
<param-name>services.configuration.file</param-name>
<param-value>/WEB-INF/flex/services-config.xml</param-value>
</init-param>
<init-param>
<param-name>flex.write.path</param-name>
<param-value>/WEB-INF/flex</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MessageBrokerServlet</servlet-name>
<url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>
<!-- begin rds -->
<servlet>
<servlet-name>RDSDispatchServlet</servlet-name>
<display-name>RDSDispatchServlet</display-name>
<servlet-class>flex.rds.server.servlet.FrontEndServlet</servlet-class>
<init-param>
<param-name>useAppserverSecurity</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>10</load-on-startup>
</servlet>
<servlet-mapping id="RDS_DISPATCH_MAPPING">
<servlet-name>RDSDispatchServlet</servlet-name>
<url-pattern>/CFIDE/main/ide.cfm</url-pattern>
</servlet-mapping>
<!--end rds -->
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<!-- for WebSphere deployment, please uncomment -->
<!--
<resource-ref>
<description>Flex Messaging WorkManager</description>
<res-ref-name>wm/MessagingWorkManager</res-ref-name>
<res-type>com.ibm.websphere.asynchbeans.WorkManager</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
-->
</web-app>
进入flex项目工程文件夹,找到.flexProperties文件:
找到serverContextRoot属性如图
修改为web工程的context root:
完毕后编写一个java文件如下:
package cn.com.gkhb.flex.service; /** * 使用RemoteObject进行flex与java的通讯 */ public class LoginService { /** * 模拟已经注册用户 */ private User[] registedUsers = new User[] {new User("john", "123"), new User("肖明杨", "123"), new User("tom", "tom"), new User("kite", "kt"), new User("lq", "ql"), new User("tomct", "toma11")}; /** * 登陆 * @param name 用户名 * @param password 密码 * @return 登陆信息 */ public String login(String name, String password) { String loginStatus = ""; if (inputVilidate(name, password)) { // 查询 for (User user : registedUsers) { if (user.getName().equals(name) && user.getPassword().equals(password)) { loginStatus = name + "登陆成功!";break; } else { loginStatus = "未注册用户!"; } } } else { loginStatus = "输入不合法,请完善输入!"; } return loginStatus; } /** * 输入为空校验 * @param name * @param password * @return */ private boolean inputVilidate(String name, String password) { if (name == null || password == null) { return false; } if (name.equalsIgnoreCase("") || password.equalsIgnoreCase("")) { return false; } return true; } /** * 数据源 */ private class User { private String name; private String password; @SuppressWarnings("unused") public User() { } public User(String name, String password) { this.name = name; this.password = password; } public String getName() { return name; } @SuppressWarnings("unused") public void setName(String name) { this.name = name; } public String getPassword() { return password; } @SuppressWarnings("unused") public void setPassword(String password) { this.password = password; } } }
修改WebContent/WEB-INF/flex/remoting-config.xml,修改为:<?xml version="1.0" encoding="UTF-8"?>
<service id="remoting-service" class="flex.messaging.services.RemotingService">
<adapters>
<adapter-definition id="java-object"
class="flex.messaging.services.remoting.adapters.JavaAdapter"
default="true" />
</adapters>
<default-channels>
<channel ref="my-amf" />
</default-channels>
<destination id="loginService">
<properties>
<source>cn.com.gkhb.flex.service.LoginService</source>
<scope>application</scope>
</properties>
</destination>
</service>
建立flex mxml文件内容如下:
<?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="955" minHeight="600"> <fx:Declarations> </fx:Declarations> <fx:Script> <![CDATA[ /** * 重设表单内容 */ private function resetForm(event:MouseEvent):void { username.text = password.text = ""; } ]]> </fx:Script> <s:VGroup x="305" y="76" width="200" height="113"> <s:HGroup width="200" height="23"> <s:Label text="用户名"/> <s:TextInput id="username" text=""/> </s:HGroup> <s:HGroup width="200" height="23"> <s:Label text="密 码"/> <s:TextInput id="password" displayAsPassword="true" text=""/> </s:HGroup> <s:HGroup width="200" height="22"> <s:Button label="提交"/> <s:Button label="重置表单" click="resetForm(event)"/> </s:HGroup> <s:Label text="" width="201" id="loginstatus"/> </s:VGroup> </s:Application>
如此,将项目部署到tomcat如图:
切换到flash builder透视图,步骤如下列图:
点击链接数据/服务
然后完成.
切换到flash builder程序设计模式,点击提交,然后在右边属性栏中
点击
生成服务调用.
此时将会在mxml中添加如下方法
protected function button_clickHandler(event:MouseEvent):void { loginResult.token = loginService.login(/*输入以下内容的值 */ arg0, arg1); }
修改为:
protected function button_clickHandler(event:MouseEvent):void { loginResult.token = loginService.login(username.text, password.text); }
继续进入设计模式,右键点击信息输出的label,选择绑定到数据
然后如图
确定后完成
此时页面代码为;<?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="955" minHeight="600" xmlns:services="services.*"> <fx:Declarations> <s:CallResponder id="loginResult"/> <services:LoginService id="loginService" fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)" showBusyCursor="true"/> </fx:Declarations> <fx:Script> <![CDATA[ import mx.controls.Alert; /** * 重设表单内容 */ private function resetForm(event:MouseEvent):void { username.text = password.text = ""; } protected function button_clickHandler(event:MouseEvent):void { loginResult.token = loginService.login(username.text, password.text); } ]]> </fx:Script> <s:VGroup x="382" y="72" width="200" height="113"> <s:HGroup width="200" height="23"> <s:Label text="用户名"/> <s:TextInput id="username" text=""/> </s:HGroup> <s:HGroup width="200" height="23"> <s:Label text="密 码"/> <s:TextInput id="password" displayAsPassword="true" text=""/> </s:HGroup> <s:HGroup width="200" height="22"> <s:Button label="提交" id="button" click="button_clickHandler(event)"/> <s:Button label="重置表单" click="resetForm(event)"/> </s:HGroup> <s:Label width="201" id="loginstatus" text="{loginResult.lastResult}"/> </s:VGroup> </s:Application>
finish!!!!
(注:转载须标明此文来源连接
http://xiaomy.iteye.com/blog/1151950
,否则视为侵权)
发表评论
-
extjs5.1多文件上传控件
2016-10-20 11:07 539items: [{ ... -
extjs 5 sliderCard布局
2016-03-03 15:05 965参考很久前一个布局做的,SLIDERCARD布局,左右上下斜 ... -
EXTJS 带文字和图标的action column
2016-03-03 14:55 1491EXTJS 5的ACTION COLUMN好像没有文字的, ... -
extjs 5 combogrid控件
2016-03-03 14:48 1832自已要用到这个控件,找了半天没有5.10现成的,网上只有以前 ... -
extjs 5 textfield 金额控件扩展
2016-03-03 14:40 10061.可自已设置金额正、负是分别用绿、红色表字体; 2.显 ... -
dhtmlx的日历插件做的一个日历
2011-12-11 01:10 3502这个是DHTMLX日历插件弄的一个打发时间的玩具,前些日子弄个 ... -
又用了一段时间MAVEN
2011-10-17 02:31 1225又用了一段时间MAVEN,只用想说一句话"珍爱生命, ... -
eclipse ee与flash builder整合(flex环境)
2011-08-07 03:36 6421项目组老大又变卦了,用flex来展示某些报表,这变来变去的,头 ... -
ireport 4 饼图制作过程(2)
2011-08-03 23:31 2786设计好报表后,把*.jasper文件拷贝到工程中,可以开始编码 ... -
ireport 4 饼图制作过程(-)
2011-08-03 00:40 6702IREPORT饼图过程 环境:ir ... -
ireport 4生成PDF中文问题(转)
2011-08-02 18:20 2247转自:http://jdev.tw/blog/2486/ire ... -
ireport生成PDF和HTML报表
2010-11-24 22:36 2775说明:程序是ireport生成pdf报表和html报表例子 ...
相关推荐
Flex是Adobe开发的一种开源的富互联网应用...通过RemoteObject,开发者可以轻松地在Flex界面中调用Java服务,实现数据的交互和业务逻辑的处理。这种跨平台的解决方案为开发具有丰富用户界面的RIA应用提供了强大支持。
在本文中,我们将深入探讨如何使用Flex中的RemoteObject组件封装后与Java应用程序进行通信。RemoteObject是Adobe Flex框架的一部分,它允许Flex客户端与服务器端的业务逻辑进行交互,通常是通过AMF(Action Message ...
本篇将深入探讨Blazeds RemoteObject组件在Flex与Java集成中的作用、原理以及实践方法。 Blazeds全称为BlazeDS,它是一个开源项目,允许Flex客户端与Java服务器进行实时双向通信。Blazeds通过使用AMF(Action ...
Flex和Java可以通过HTTP或HTTPS协议进行通信,这是最常见的方式,适用于大多数跨域场景。BlazeDS支持通过HTTP/HTTPS进行数据传输,同时也可以利用WebSocket协议提供双向通信,实现低延迟的实时数据推送。 4. **...
这种交互通常是通过AMF(Action Message Format)协议实现的,它提供了一种高效的数据序列化方式,使得Flex能够与Java服务进行低延迟的双向通信。 描述中的“入门实例”意味着我们将探讨如何创建一个基础的Flex-...
在"flex+java+mysql登录"这个场景中,我们主要探讨的是如何使用Flex客户端与Java后台进行通信,以及通过Java处理数据库交互来实现用户登录功能。 1. Flex数据库操作:Flex中的数据访问通常通过 BlazeDS 或 LCDS ...
`RemoteObject` 可以方便地将Flex应用程序中的ActionScript方法映射到服务器上的业务逻辑方法,从而实现数据的传递和交换。以下将详细讲解如何使用`RemoteObject`以及它的工作原理。 1. **配置Flex项目** 在Flex...
2. WebService:Flex也可以通过SOAP协议与Java的Web服务进行通讯,但这种方式相比AMF效率较低。 3. HTTPService:使用HTTP请求,通常用于向Java服务器发送RESTful API请求,获取JSON或XML格式的数据。 4. Shared...
在Flex端,我们主要通过RemoteObject来与Java后台进行通信。以下是一些关键配置: 1. 实例化RemoteObject:`service = new RemoteObject("helloService");` 这里"helloService"是服务的标识,对应Java端的服务接口...
总的来说,Flex通过`RemoteObject`组件与Java进行JSON数据交互,提供了一种高效且直观的方式,使客户端和服务器端能紧密协作,完成复杂的业务逻辑。理解并熟练掌握这种技术对于Flex和Java开发者来说至关重要。
当所有配置完成后,我们可以启动Tomcat服务器,访问`http://localhost:8080/FlexJava/FlexJava-debug/FlexJava.html`来查看并测试应用程序。如果一切正常,用户在文本框中输入内容,点击按钮,应该能看到一个弹出的...
- RemoteObject组件:提供与服务器进行AMF通信的便捷方式,可以自动映射Java对象到Flex对象。 - Event-driven架构:Flex和Java之间的通信通常是异步的,需要理解事件处理机制以处理服务器响应。 - 安全性:考虑数据...
标题中的“Flex与Java交互 远程调用方式”指的是在Adobe Flex应用程序中与Java后端进行通信的技术。Flex是一种基于ActionScript的开源框架,用于构建富互联网应用程序(RIA),而Java是后端开发的常用语言。两者之间...
在标题提到的“Flex与Java通讯例子”中,我们可以推测这是一个示例项目,展示了如何在Flex前端和Java后端之间传递参数。下面将详细介绍Flex与Java通信的基本原理和步骤: 1. **AMF通信**:AMF是一种二进制格式,...
### Flex中RemoteObject与Java的通信 在Flex开发过程中,实现客户端与服务器端的数据交互是一项基本而又关键的任务。其中,`RemoteObject`是Adobe Flex框架提供的一个强大的组件,它允许Flex应用程序通过AMF...
通过以上介绍,我们可以看到Flex与Java整合在构建企业级应用,如Simple OA自动化办公系统时,能够充分发挥各自的优势,提供优秀的用户体验和强大的后台支持。理解并掌握这种整合方式,对于提升软件开发效率和质量...
在Flex中,使用ActionScript动态调用RemoteObject类是一种常见的实现客户端与服务器端交互的方式。通过这种方式,开发者可以在客户端灵活地调用服务器端的服务,并处理返回的数据。下面将详细介绍如何在Flex中使用...
在Flex4中,RemoteObject是ActionScript 3.0中的一种重要组件,它允许与后端服务器进行数据...通过这样的方式,开发者可以在Flex前端构建功能丰富的、用户体验良好的文件上传功能,同时保持与后端服务器的有效通信。