`
jusesgod
  • 浏览: 52048 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

flex向struts2(action)传输数据

阅读更多
目标:
  实现从flex页面向后台的服务框架(struts2)传输参数。

实现:
  在flex页面中添加<HTTPService>标签,在事件触发向服务器发送请求时将数据加载在request中向服务器发送,其中的url属性填写服务器的请求路径(.../*.action一定要填相对路径,前面不要加"/"),这样的话struts2的action可以接收到相同名字的属性。

环境:
  1.flex编辑使用 Flex Builder3.0.2.214193
  2.struts2使用 MyEclipse6.5
  3.服务器 Tomcat 5.5

------------------------------flex-------------------------------

flex页面:

其中:_url.action为用户定义的请求,该页面向struts2发送两个参数:userName,pswWord

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundColor="#f6f6f6" backgroundGradientColors="[#f6f6f6, #AA1220]" fontSize="12">
    <mx:Label text="用户名:" x="23" y="61" id="txt"/>
    <mx:TextInput id="userName" x="77" y="59"/>
    
    <mx:Label text="密码:" x="35" y="91"/>
    <mx:TextInput id="pswWord" x="77" y="89"/>
    
    <mx:Button label="提交" click='my_HS.send()' x="185" y="121"/>
    
    <mx:HTTPService id="my_HS" url="_url.action" method="post" >
    	<mx:request>
        	<userName>{userName.text}</userName>
        	<pswWord>{pswWord.text}</pswWord>
    	</mx:request>
    </mx:HTTPService>
</mx:Application>


-----------------------------java----------------------------------

web.xml代码
服务器配置文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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">
   <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

</web-app>


struts.xml代码(放在src目录下)
服务器配置文件:其中的action的name属性一定要和服务器请求的属性一致,其后面的class属性要与java中Action的实体类的位置对应
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
<constant name="struts.action.extension" value="action,do,webwork" />
<package name="simple"  extends="struts-default">
    <action name="_url" class="test.action.GetUserName">
        <result name="success">index.jsp</result>
    </action>
</package>
</struts>


action代码
Action实体类:其中的属性名要与flex页面传来的参数名保持一致,并添加g&s方法。然后再在execute()方法里描述这个action具体需要做的事情。
最后的return返回值可以设成null,因为flex不会受struts的驱使跳转页面。
package test.action;

import com.opensymphony.xwork2.ActionSupport;

public class GetUserName extends ActionSupport{
	public String userName;
	public String pswWord;
	
	public String getPswWord() {
		return pswWord;
	}

	public void setPswWord(String pswWord) {
		this.pswWord = pswWord;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String execute(){
		System.out.println("there it is");
        String s = getText(userName);
        System.out.println(s+":"+pswWord);
        
		return SUCCESS;
	}
}


p.s. 如果不部署到eclipse上运行的话,_url填写完整的http协议路径
0
0
分享到:
评论
1 楼 qiao000_000 2010-01-20  
我是Flex新手,我参照你的例子写了一下,发现只要在web.xml中加入struts2的配置就不能显示mxml页面,换成struts1时又发现页面不能跳转,楼主知道是什么原因吗

相关推荐

    flex与struts2整合

    Flex与Struts2的整合,不仅能够提升Web应用的用户体验,还能充分利用两种技术的优势,实现高效的数据处理和丰富的界面展示。通过本文的详细介绍,相信读者已经掌握了Flex与Struts2整合的基本步骤和原理,为实际项目...

    Flex 与 Struts2 ByteArray 数据上传

    综上所述,这个知识点涵盖了Flex客户端与Struts2服务端的交互,特别是关于二进制数据的传输。在实际开发中,这样的功能对于处理图像、文档或其他非文本数据的上传非常有用。通过阅读和理解提供的源码,开发者可以...

    UserInfoSys.rar_flex_flex strut_flex struts _flex struts2 list_s

    在Flex与Struts2的集成过程中,通常会采用AMF(Action Message Format)协议,这是一种二进制数据交换格式,能够快速高效地传输复杂的数据结构。在“UserInfoSys”中,AMF使得Flex与服务器之间的通信更加流畅,降低...

    Flex+Struts2+JSON实现Flex和后台的HTTP Service请求

    在Flex和Struts2之间,JSON用于序列化和反序列化对象,使得数据能在不同的平台之间高效传输。 实施步骤: 1. 创建Flex项目:首先,你需要创建一个新的Flex项目,并添加HTTP Service组件到主视图,配置其URL指向...

    flex+Struts实例

    3. **AMF通信**:在Flex与Struts之间,通常使用Action Message Format (AMF)进行数据交换,它是一种高效的数据传输格式。需要熟悉 BlazeDS 或 GraniteDS 这样的AMF服务器,它们提供与Struts的集成。 4. **服务端...

    Hello_World.rar_flex_flex struts

    Flex通过AMF(Action Message Format)协议与Struts进行通信,AMF是一种高效的数据交换格式,能快速地传输数据,减少网络延迟。 在“Hello_World”这个例子中,很可能是创建了一个基础的Flex前端界面,通过点击按钮...

    flex and struts.doc

    通过使用Flex的ActionScript和AMF(Action Message Format)协议,可以实现与Struts后端服务的高效通信,提供低延迟的数据传输。AMF是一种二进制格式,用于在Flex客户端和服务器之间传输数据,相比传统的HTTP请求,...

    flex struts2文件上传

    Flex Struts2文件上传是一个常见的Web开发任务,它涉及到客户端与服务器端的数据交互,特别是涉及用户界面和后端服务之间的文件传输。Flex是Adobe开发的一个富互联网应用(RIA)框架,用于创建动态、交互式的用户...

    Flex4+struts2 登陆 HTTP方式

    Flex4和Struts2之间的通信通常通过HTTP协议进行,主要依赖于AMF(Action Message Format)或XML/JSON数据格式进行数据交换。AMF是一种二进制的轻量级数据交换格式,能高效地传输数据,尤其适合于大量数据交互的场景...

    lib1 flex+struts2+spring+ibatis jar 完整的jar 需要下载本人资源lib2

    标题和描述中提到的"lib1 flex+struts2+spring+ibatis jar 完整的jar 需要下载本人资源lib2"是一个...Flex前端、Struts2作为MVC框架、Spring作为依赖注入和整体应用管理、以及iBatis作为数据层持久化工具的应用的基础...

    flex+struts

    通常会使用 BlazeDS 或 GraniteDS 这样的中间件来建立Flex与Struts之间的通信通道,这些中间件支持AMF(Action Message Format),这是一种高效的二进制协议,可以快速传输数据。 4. **AMF通信**:AMF是一种轻量级...

    flex4整合SSH(struts2+hibernate3+spring3)所有包 jars

    Struts2与Flex4的整合允许在Flex客户端和Struts2服务器端之间进行有效通信,实现数据的双向传输。 Hibernate3是一个对象关系映射(ORM)框架,它简化了Java应用与数据库之间的交互。通过Hibernate,开发者可以用...

    flex4+spring3+struts2+hibernate3+blazeds整合实例

    而"flex4+spring3+struts2+hibernate3+blazeds整合实例"是一个典型的Java Web开发架构,它结合了前端的Flex技术和后端的SSH(Spring、Struts2、Hibernate)框架以及BlazeDS作为数据传输层。以下将详细介绍这个整合...

    MyEclipse7.5+flex4+spring3.0.5+struts2.2.1+hibernate3.6.0+blazeds4.0.0.14931完美整合方案

    Blazeds提供了AMF(Action Message Format)协议,可以高效地传输数据,支持实时双向通信,使Flex应用能够与Spring、Hibernate等后端框架无缝集成。 这个整合方案的核心在于通过Blazeds连接Flex前端和后端服务,...

    java连接flex代码

    2. **Struts框架**:尽管Struts2没有直接支持Flex,但可以通过使用第三方库,如FlexMXMLServlet或BlazeDS,将Struts2的Action暴露给Flex。这些库允许将Struts2的结果转换为AMF响应,使得Flex客户端可以直接调用...

    Flex + hibernate+sturts +lcd 增删查改2(jar)

    Struts + LCD 增删查改2(jar)”是一个典型的Java Web开发项目,其中包含了Flex作为前端展示层,Hibernate作为持久化框架,Struts作为控制层,以及LCD(可能是LCDUI, Lightweight Client Data)作为数据交互组件。...

    WEB项目-集成Flex3_BlazeDS3[1].2_Spring2.5.6_iBatis2.3.4_Struts2.1.8

    这个项目可能包含了一系列配置文件(如Spring的bean配置、Struts 2的配置、BlazeDS的配置等)、Action类(Struts 2的业务逻辑组件)、Service和DAO接口及其实现(Spring管理的业务层和数据访问层)、以及Flex的MXML...

    在flex的dataGrid控件中显示图片的实践

    5. **Struts2整合**:如果项目中使用了Struts2,可以创建一个Action,该Action调用服务层的方法获取图片数据,并在返回结果中包含这个数据。Struts2的`StreamingResult`或者自定义ResultType可以帮助我们正确地将二...

Global site tag (gtag.js) - Google Analytics