博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flex(通过URLLoader)与后台jsp进行交互的例子,包括中文乱码的处理
阅读量:2426 次
发布时间:2019-05-10

本文共 3476 字,大约阅读时间需要 11 分钟。

初学flex,写个flex(通过URLLoader)与后台交互的例子,解决中午乱码的处理:登录flash页面

后台jsp接受到的flex传入的中文

FB里面显示从jsp里面传出的中文信息

这是flex.jsp的代码:

<%
@ page contentType="text/html; charset=UTF-8" 
%>
<%
    
String usr = java.net.URLDecoder.decode(request.getParameter("user"), "UTF-8");
    System.out.println(
"取得传入的参数:"+usr);
    
String psw = java.net.URLDecoder.decode(request.getParameter("psw"), "UTF-8");
    System.out.println(
"取得传入的参数:"+psw);
%>
<%
=
usr
%>
+
<%
=
psw
%>

 

这是login.mxml的代码:

 

<?
xml version="1.0" encoding="utf-8"
?>
<
mx:Application 
xmlns:mx
="http://www.adobe.com/2006/mxml"
 
    layout
="absolute"
 fontSize
="12"
 xmlns:local
="*"
>
    
<
mx:TraceTarget
/>
    
<
mx:Style
>
        .lab{
           fontWeight: "bold";
           /*color: #FF0000;*/
           fontSize: 15;
        }
    
</
mx:Style
>
    
<
mx:Script
>
        
<![CDATA[
        //对提交给后台的参数进行UTF-8的编码处理
        private function httpEncoding(param:String):String{
            return encodeURIComponent(param);
        }
        private function doLogin():void {
            //trace("focusEnabled:"+loading.focusEnabled);
            //this.focusManager.setFocus(user);
            var url:String = "http://localhost:8600/flex.jsp";
            var params:URLVariables = new URLVariables();
            //这个user,psw就是传入后台的参数user,jsp就用 request.getParameter("user")来取
            params.user = httpEncoding(user.text);
            params.psw = psw.text;
            var loader:URLLoader = new URLLoader();
            this.configureEventListeners(loader);
            //可以不设置,因为默认是text
            loader.dataFormat = URLLoaderDataFormat.TEXT;
            var request:URLRequest = new URLRequest(url);
            request.data = params;
            try{
                loader.load(request);
            }catch(error:Error){
                trace(error.message);
            }
        }
        private function configureEventListeners(dispatcher:IEventDispatcher):void {
            dispatcher.addEventListener(Event.COMPLETE, completeHandler);
            dispatcher.addEventListener(Event.OPEN, openHandler);
            dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
            dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
            dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
        }
       private function completeHandler(event:Event):void {
            var loader:URLLoader = URLLoader(event.target);
            trace("--complete..."+event.target.data);
            //var dataXML:XML = XML(event.target.data);
            //trace(dataXML.toXMLString());
            btn_btn.enabled=true;
        }
        private function openHandler(event:Event):void {
            trace("openHandler: " + event);
            //this.focusManager.setFocus(loading);
            btn_btn.enabled=false;
        }
        private function progressHandler(event:ProgressEvent):void {
            trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
        }
        private function securityErrorHandler(event:SecurityErrorEvent):void {
            trace("securityErrorHandler: " + event);
        }
        private function httpStatusHandler(event:HTTPStatusEvent):void {
            trace("httpStatusHandler: " + event);
        }
        private function ioErrorHandler(event:IOErrorEvent):void {
            trace("ioErrorHandler: " + event);
        }
        
]]>
    
</
mx:Script
>
    
    
<
mx:Panel 
title
="欢迎登录WAP管理系统:"
 width
="307"
 height
="189"
 layout
="absolute"
 verticalAlign
="top"
 horizontalCenter
="-10.5"
 verticalCenter
="-9"
>
        
<
mx:Label 
x
="32"
 y
="25"
 text
="登录口令:"
 width
="59"
/>
        
<
mx:TextInput 
id
="user"
 x
="99"
 y
="23"
 width
="147"
/>
        
<
mx:Label 
x
="32"
 y
="53"
 text
="登录密码:"
 width
="59"
/>
        
<
mx:TextInput 
id
="psw"
 x
="99"
 y
="51"
 displayAsPassword
="true"
 width
="147"
/>
        
<
mx:ControlBar 
alpha
="1"
>
            
<
mx:Button 
id
="btn_btn"
 x
="58"
 y
="92"
 label
="确 定"
 click
="this.doLogin();"
/>
            
<
mx:Button 
x
="162"
 y
="92"
 label
="取 消"
/>
            
<
mx:Label 
x
="0"
 y
="129"
 text
="Powered by Keren"
 textAlign
="right"
/>
        
</
mx:ControlBar
>
    
</
mx:Panel
>
</
mx:Application
>

 

 

你可能感兴趣的文章
mysql使用索引优化order排序
查看>>
mysql复合索引、普通索引总结
查看>>
mysql explain中的using filesort
查看>>
MYSQL explain详解
查看>>
MySQL查询优化-explain
查看>>
Linux 技巧:让进程在后台可靠运行的几种方法
查看>>
Java IO 以及 NIO 详解
查看>>
Java 反射和动态代理真的没那么高深,一起来看看就知道了
查看>>
java线程与死锁问题,讲的太详细太好懂了,再也不用怕了
查看>>
java 线程池看这一篇就行了
查看>>
IT文档及工具
查看>>
eygle' blog
查看>>
Apple 公司的电影预告片网站
查看>>
ORACLE技术中国用户讨论组
查看>>
unixguide
查看>>
Ruby Code & Style
查看>>
biti's blog
查看>>
chinaunix
查看>>
Lucky
查看>>
ERP100 論壇,ORACLE ERP
查看>>