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

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

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

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

    雪山飛鵠

    溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://www.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教程》 謝謝了  回復  更多評論
      

    主站蜘蛛池模板: 日韩高清免费观看| 午夜免费福利在线观看| 亚洲人成在线播放| 免费观看久久精彩视频| 亚洲精品高清国产一线久久| 国产成人亚洲精品| av大片在线无码免费| 国产婷婷综合丁香亚洲欧洲| 三年片在线观看免费大全| 国产中文在线亚洲精品官网| 亚洲精品视频免费观看| 亚洲中文字幕无码久久精品1| 中文字幕视频在线免费观看| 久久久亚洲精品国产| h在线观看视频免费网站| youjizz亚洲| 永久免费AV无码网站国产| 国产精品高清全国免费观看| 亚洲av无码一区二区三区人妖| 国产片免费在线观看| 中文字幕免费在线看线人动作大片| 亚洲啪啪AV无码片| 永久免费在线观看视频| 亚洲日本一线产区和二线| 亚洲国产精品自在拍在线播放 | 亚洲国产成人精品激情| 日韩免费观看视频| 中文字幕永久免费| 亚洲精品乱码久久久久久下载| 妞干网在线免费观看| 中文字幕视频免费在线观看| 亚洲日本香蕉视频观看视频| 国产精品二区三区免费播放心| 中文字幕版免费电影网站| 亚洲人成人77777网站不卡| 亚洲AⅤ永久无码精品AA| 免费不卡在线观看AV| 国产成人亚洲午夜电影| 亚洲第一福利视频| 婷婷亚洲天堂影院| 91免费国产在线观看|