<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://m.tkk7.com/sxyx2008/謝謝合作!!!

    雪山飛鵠

    溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://m.tkk7.com/sxyx2008/謝謝合作!!!

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      215 Posts :: 1 Stories :: 674 Comments :: 0 Trackbacks
                環境:myeclipse8.5+flex4+blazeds
                描述:flex4中httpservice與服務器端交互的值傳遞問題
                方式一:通過<s:request/>標簽進行交互,在該標簽內部以要傳遞的參數名作為該標簽內的子標簽,值作為內容進行傳遞,服務端接受數據采用request.getParmeter("參數名")獲取數據.
                示例代碼:
                flex中的代碼:
    <!--定義HttpService發送請求-->
            
    <s:HTTPService id="service" 
                           url
    ="http://localhost:8080/testhttpservice/testHttpServiceServlet" 
                           useProxy
    ="false" 
                           fault
    ="service_faultHandler(event)" 
                           result
    ="service_resultHandler(event)">
                
    <!--第一種傳值方式-->
                
                
    <s:request >
                    
    <!--參數名稱作標簽,中間填充參數值-->
                    
    <username>{txtusername.text}</username>
                    
    <password>{txtpassword.text}</password>
                
    </s:request>
                
            
    </s:HTTPService>
            后臺接受參數的代碼:
            //獲取flex傳遞的參數 username password
            String username=request.getParameter("username");
            
    //get方式處理亂碼
            
    //username=new String(username.getBytes("ISO-8859-1"),"utf-8");
            String password=request.getParameter("password");
            
    //password=new String(password.getBytes("ISO-8859-1"),"utf-8");
            方式二:第二種傳值方式通過send()方法傳值send方法中傳遞參數 ,服務端接受數據采用request.getParmeter("參數名")獲取數據.
            示例代碼:
                    //第二種傳值方式 通過send()方法傳值 send方法中傳遞參數 
                    //定義一object對象
                    var val:Object=new Object();
                    //分別將文本框username,password的值傳遞到后臺
                    //object對象.參數名=值   傳值操作
                    val.username=txtusername.text;
                    val.password=txtpassword.text;
                    service.send(val);
            貼出完整的代碼:
            服務器端:
    package com.servlet;

    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.ArrayList;
    import java.util.List;

    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    /**
     * 功能描述:flex httpservice與java交互參數傳遞探討<br>
     * 
    @author sxyx2008<br>
     * @date 2010-07-19
     *
     
    */

    @SuppressWarnings(
    "serial")
    public class TestHttpServiceServlet extends HttpServlet {
        
        @Override
        
    protected void service(HttpServletRequest request, HttpServletResponse response)
                
    throws ServletException, IOException {
            
    //處理post方式亂碼
            request.setCharacterEncoding("utf-8");
            
    //設置瀏覽器輸出字符編碼
            response.setCharacterEncoding("utf-8");
            PrintWriter writer
    =response.getWriter();
            
    //獲取flex傳遞的參數 username password
            String username=request.getParameter("username");
            
    //get方式處理亂碼
            
            
    //username=new String(username.getBytes("ISO-8859-1"),"utf-8");
            String password=request.getParameter("password");
            
    //password=new String(password.getBytes("ISO-8859-1"),"utf-8");
            
            
    //構建一個list存放一些數據用來模擬用戶是否存在這一功能
            List<String> list=new ArrayList<String>();
            list.add(
    "張三");
            list.add(
    "李四");
            list.add(
    "王五");
            list.add(
    "曹操");
            list.add(
    "孫權");
            list.add(
    "劉備");
            
    //檢驗用戶
            if(list.contains(username)){
                writer.print(
    "存在:"+username+"客戶端傳遞的密碼是:"+password);
            }
    else{
                writer.print(
    "找不到:"+username+"客戶端傳遞的密碼是:"+password);
            }

            
        }

    }

            flex代碼:
    <?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:Script>
            
    <![CDATA[
                import mx.controls.Alert;
                import mx.rpc.events.FaultEvent;
                import mx.rpc.events.ResultEvent;

                //調用失敗
                protected function service_faultHandler(event:FaultEvent):void
                {
                    Alert.show("失敗了:"+event.message,"提示");
                }

                //調用成功
                protected function service_resultHandler(event:ResultEvent):void
                {
                    Alert.show("成功了:"+event.result as String,"提示");
                }
        
                //調用
                protected function button1_clickHandler(event:MouseEvent):void
                {
                    //第一種傳值方式                
                    //service.send();
                    
                    //第二種傳值方式 通過send()方法傳值 send方法中傳遞參數 
                    //定義一object對象
                    var val:Object=new Object();
                    //分別將文本框username,password的值傳遞到后臺
                    //object對象.參數名=值   傳值操作
                    val.username=txtusername.text;
                    val.password=txtpassword.text;
                    service.send(val);
                }

            
    ]]>
        
    </fx:Script>
        
    <fx:Declarations>
            
    <!-- 將非可視元素(例如服務、值對象)放在此處 -->
            
    <!--定義HttpService發送請求-->
            
    <s:HTTPService id="service" 
                           url
    ="http://localhost:8080/testhttpservice/testHttpServiceServlet" 
                           useProxy
    ="false" 
                           fault
    ="service_faultHandler(event)" 
                           result
    ="service_resultHandler(event)">
                
    <!--第一種傳值方式-->
                
                
    <s:request >
                    
    <!--參數名稱作標簽,中間填充參數值-->
                    
    <username>{txtusername.text}</username>
                    
    <password>{txtpassword.text}</password>
                
    </s:request>
                
            
    </s:HTTPService>
            
            
        
    </fx:Declarations>
        
    <s:TextInput x="332" y="196" id="txtusername"/>
        
    <s:TextInput x="332" y="256" id="txtpassword" displayAsPassword="true"/>
        
    <s:Button x="357" y="311" label="發送" click="button1_clickHandler(event)"/>
        
    <s:Label x="290" y="206" text="用戶名:"/>
        
    <s:Label x="297" y="266" text="密碼:"/>
    </s:Application>
            工程文件:
            點我下載工程文件
    posted on 2010-07-19 17:31 雪山飛鵠 閱讀(11486) 評論(10)  編輯  收藏 所屬分類: flex

    Feedback

    # re: flex中httpservice與java后臺交互的兩種傳值方式[未登錄] 2010-07-20 20:02 小宇
    師父,這個寫得好啊~httpservice與JAVA傳數值,我自己研究了一天都沒弄明白~這個日志寫得很到位啊~~  回復  更多評論
      

    # re: flex中httpservice與java后臺交互的兩種傳值方式[未登錄] 2010-07-20 20:12 小宇
    師父,我想問個問題,現在我想用httpservice方式向struts2傳遞數據給action,并用action控制跳轉,這個目前是個很大的問題。搜了很多資料,自己解決不了。謝謝高手,謝謝師父了。  回復  更多評論
      

    # re: flex中httpservice與java后臺交互的兩種傳值方式 2010-09-04 17:16 實施
    燕雀安知鴻鵠之志哉,哈哈哈,妙哉  回復  更多評論
      

    # re: flex中httpservice與java后臺交互的兩種傳值方式 2010-09-29 16:29 雪山飛鵠
    @實施
    伯樂啊  回復  更多評論
      

    # re: flex中httpservice與java后臺交互的兩種傳值方式 2011-04-18 10:00
    一般般吧...
    重點沒有講出來...  回復  更多評論
      

    # re: flex中httpservice與java后臺交互的兩種傳值方式 2011-05-13 11:21
    在mxml中怎么取到java端得值的?不會給DataGrid賦值~怎么辦,有沒有在完整點的?謝了  回復  更多評論
      

    # re: flex中httpservice與java后臺交互的兩種傳值方式 2011-09-07 12:27 huanqi_dou
    版主,跪求《跟我學Flex教程》
    郵箱地址:huanbao.2008.cool@163.com  回復  更多評論
      

    # re: flex中httpservice與java后臺交互的兩種傳值方式 2012-08-01 16:48 法國警方的客觀
    對方的司法所發啊啊啊飛飛飛飛飛飛fffaaaff  回復  更多評論
      

    # re: flex中httpservice與java后臺交互的兩種傳值方式 2013-01-04 13:59 sqj
    你好!我做的項目用的也是httpservice,我希望通過action類輸出的值判斷登錄是否成功,但是httpservice的result的方法沒有被執行,也就獲取不到后臺的輸出數據怎么解決啊?跪求!  回復  更多評論
      

    # re: flex中httpservice與java后臺交互的兩種傳值方式 2013-01-15 09:35 sd
    求粉《跟我學FLEX教程》 謝謝了  回復  更多評論
      

    主站蜘蛛池模板: 亚洲精品综合一二三区在线| 亚洲成网777777国产精品| 亚洲av网址在线观看| 91福利免费网站在线观看| 亚洲一区无码精品色| 中国性猛交xxxxx免费看| 久久精品国产精品亚洲下载| 国产精品免费久久久久久久久| 国产精品亚洲高清一区二区 | 最新国产精品亚洲| 日韩免费一区二区三区在线| 亚洲中文字幕在线无码一区二区| 最新欧洲大片免费在线| 亚洲精品久久无码| 亚洲国产精品综合久久网络| 久久久久久噜噜精品免费直播| 亚洲AV无码精品色午夜果冻不卡 | 最近在线2018视频免费观看| 亚洲欧洲日产韩国在线| 毛片大全免费观看| 亚洲aⅴ无码专区在线观看春色 | 8x成人永久免费视频| 亚洲人成网站日本片| 国产自产拍精品视频免费看| 精品国产污污免费网站入口| 老司机亚洲精品影院| 无码中文字幕av免费放| 香港一级毛片免费看| 亚洲高清国产拍精品26U| 18成禁人视频免费网站| 激情无码亚洲一区二区三区| 亚洲自偷自偷偷色无码中文| 久久久久av无码免费网| 日日摸日日碰夜夜爽亚洲| 国产亚洲情侣一区二区无码AV| 亚洲精品视频在线观看免费| 老子影院午夜伦不卡亚洲| 亚洲国产精品无码AAA片| 女性无套免费网站在线看| 久久免费视频一区| 色老板亚洲视频免在线观|