<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教程》 謝謝了  回復  更多評論
      

    主站蜘蛛池模板: 亚洲国产精品久久人人爱| selaoban在线视频免费精品| 国产免费av片在线无码免费看 | 免费福利在线观看| 一本久久a久久精品亚洲| 最近免费mv在线电影| 久久综合亚洲色hezyo| 亚洲国产精品成人久久| 成人毛片免费观看视频大全| 99久久免费国产特黄| 亚洲成人激情小说| 亚洲色大成网站WWW久久九九| 99久久久国产精品免费无卡顿| 水蜜桃视频在线观看免费| 亚洲狠狠狠一区二区三区| 亚洲精品视频免费观看| 亚洲免费观看在线视频| 搜日本一区二区三区免费高清视频 | 亚洲精品第一综合99久久| 国产gv天堂亚洲国产gv刚刚碰| 永久免费AV无码国产网站| 亚洲精品视频免费观看| 亚洲国产系列一区二区三区| 亚洲成色www久久网站夜月| 性做久久久久免费观看| 亚洲精品免费在线| 日韩av无码免费播放| 国产成人精品亚洲| 亚洲香蕉在线观看| 亚洲高清视频在线观看| 亚洲国产精品成人综合久久久 | 亚洲一级毛片免费看| 在线看片免费人成视频播| 午夜亚洲乱码伦小说区69堂| 国产日本亚洲一区二区三区| 亚洲av日韩av天堂影片精品| 亚洲无码视频在线| 四只虎免费永久观看| 毛片a级三毛片免费播放| 亚洲免费一级视频| 18级成人毛片免费观看|