Flex与Strust2的交互中,乱码问题很是头痛,网上的解决方法也不系统,花了很长时间才解决~~~
Flex->Action
在flex前台将要传输的字符串编码:
UserRegisterDetailSave.request.address = encodeURIComponent(address.text);
address中的内容包含中文,就需要重新编码
后台需要增加一个编码的Filter:
package com.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class EncodingFilter implements Filter{
public void destroy()
{
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException
{
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
filterChain.doFilter(request, response);
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
这个Filter将请求编码为"utf-8"的形式,这样才能进行下一步解码.在Action中,需要用到值中包含中文的属性时,用URLDecoder.decode(address, "utf-8")进行解码,解码前后address都是String类型.如果还是不行的话,检查一下前台界面是不是有:initialize="flash.system.System.useCodePage=true"的标记,有的话改成false.
Action->Flex
这个很方便,添加两行代码至Action末端:
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("utf-8");
最后就是通过HttpService获取远程Xml了,这个更方便了,将页面Application标签里添加:
initialize="flash.system.System.useCodePage=true"
上面的方法全是项目中自己遇到然后解决了的,如果没有用的话那只能深感无奈了~~~
分享到:
相关推荐
简单的 flex HttpService例子,可供初学者参考
Flex HTTPService 如何给后台传递参数 包含实例绝对简单
flex4 httpservice 例子 提取xml数据
帶有ASP.NET的Flex HTTPService ... Adobe Flex中有許多方法可以與ASP.NET(或簡單地說,服務器端語言)進行通信。 HttpService,WebService,WebORB,FluorineFx等。在本教程中,我僅關注HTTPService。
flex通过httpService读取xml数据到datagird中,通过读取远程URL的XML数据(这里保存到本地),保存到ArrayCollection中,然后在将ArrayCollection绑定到datagird上 环境:flex3.0 可直接运行
flex 和java的通信使用的是httpservice 但当时遇到了不知道如何获取java端的返回值给flex前端 我这个就是为了解决你烦恼而来的 绝对不忽悠你
NULL 博文链接:https://topmanopensource.iteye.com/blog/425794
flex通过Http和WebService与服务器通信交互,交互后台采用java的Struts2做为处理后台.
一个flex 与 java 通过HTTPService 通信的小例子,希望对flex新手有点帮助
flex 与后台交互 httpservice 实例
FLEX _HTTPService的调用方法 显示数据的例子 QueryDataSet.xml
flex用httpService通信与java后台连接
Flex中利用HTTPService MXML标签(tag)将XML转化为对象(objects)
Flex使用HttpService以键值对的形式发送请求,Java使用Servlet接收Flex请求,再返回数据给Flex客户端。 有文档有例子 包括java 和 flex
Flex 使用HttpService组件发送XML数据与java交互 例子+文档
Flex4_httpService远程调用JAVA。包含源码。jar包,配置。
flex 解析xml文件,利用httpservice读取xml文件,按要求过滤字符串,获取对应的值
这是本人做的Flex4 通过HttpService与Java进行交互项目,本人测试通过。本人在此声明运行环境为:MyEclipse 8.5,JDK 6,Tomcate 6,Flex 4. 本人已经将Flex4整合到Myeclipse 8.5中去了,所以这个项目是在MyEclipse ...
FLEX 数据绑定 Flex HTTPservice使用 Flex 创建自定义事件。 其它入门基础等。
纯flex网站前台,通过httpservice、webservice进行数据交互