精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

SimpleFramework系列之 - AjaxRequest

開發(fā) 后端
AjaxRequest是一個非常重要的組件,在一個基于SimpleFramework的項目中,AjaxRequest被使用的概率幾乎在50%以上,甚至更多。

一、綜述

AjaxRequest是一個非常重要的組件,在一個基于SimpleFramework的項目中,AjaxRequest被使用的概率幾乎在50%以上,甚至更多。

在開始介紹AjaxRequest之前,我們首先看看HttpServletRequest,下圖介紹一個完整Http請求到響應(yīng)的生命周期。

 

 

一些Web框架(比如:Struts)擴展了Servlet,并通過提供的接口,實現(xiàn)了基于MVC的編程模式,從而取代傳統(tǒng)的Servlet編程。如下圖:

 

 

隨著Ajax的流行,基于Ajax的請求變的越來越流行,一般要通過如下幾個步驟來實現(xiàn):

編寫客戶端代碼(javascript)

編寫請求代碼

通過回調(diào)函數(shù)處理返回的結(jié)果

編寫Servlet處理類

返回結(jié)果(可以是html、xml、text或json),等待客戶端回調(diào)函數(shù)的處理

 

 

一些流行的javascript框架,比如Prototype、jQuery等都提供了對Ajax的封裝,您可以很容易的編寫客戶端的請求代碼,這里以Prototype為例:

 

  1. new Ajax.Request("/test.action", {  
  2.   postBody: "p1=v1&p2=v2",  
  3.   encoding: "UTF-8",  
  4.   onComplete:function(req) {  
  5.     var txt = req.responseText;  
  6.     //do data  
  7.   }  
  8. );  
  9.  

 

“/test.action”請求一個Servlet類,并通過業(yè)務(wù)處理,把需要的數(shù)據(jù)返回給前端回調(diào)函數(shù)onComplete。

看似簡單的流程,卻有很多問題需要關(guān)注:

實際的項目有上百個甚至更多Ajax請求,那么前端javascript的數(shù)量和Servlet的數(shù)量就會增長很快。當(dāng)javascript出現(xiàn)錯誤或更改javascript代碼都會相當(dāng)麻煩,至于Servlet,您可以通過Struts等技術(shù)替代

提交表單需要拼接參數(shù),有沒有更好的辦法?

返回數(shù)據(jù)的解析。建議在Servlet中直接生成json格式

如果返回數(shù)據(jù)包含javascript文件(腳本)、CSS文件等,如何動態(tài)添加到dom中,如果dom中已經(jīng)存在這些文件,那又該如何處理

需要對返回數(shù)據(jù)進行緩存,是否可以處理?

解決以上的問題,你需要付出太多的代價,不過,沒關(guān)系,SimpleFramework提供的AjaxRequest組件,讓您用聲明的方式,快速完成Ajax請求。

二、原理

三、實踐

現(xiàn)在就開始我們的AjaxRequest之旅吧!

3.1 組件的聲明

SimpleFramework使用xml文件來描述組件,您可以參考http://simpleframework.net/doc/d2/2.4.1.html獲取更為詳細(xì)的信息。

以下是聲明的代碼片段:

 

  1. <ajaxRequest name="ajaxTestAction"  handleClass="net.simpleframework.demo.TestAction" 
  2.    handleMethod="testMethod"> 
  3. </ajaxRequest> 

 

在組件聲明中,名稱是必須的,且不能和其它組件名稱重復(fù),因為SimpleFramework通過Filter發(fā)現(xiàn)如上的定義,就會自動為客戶端生成 一個$Actions[“ajaxTestAction”]的javascript對象。在客戶端,您就可以通過這個唯一的名稱獲取其javascript對 象的引用。

如果您不了解$Actions,可以通過http://simpleframework.net/doc/d2/2.4.2.html來了解更多內(nèi)容。

3.2 與HTML頁面元素的事件綁定

HTML頁面元素(比如button)如何綁定到AjaxRequest組件“ajaxTestAction”呢?SimpleFramework采用了最原始的方式,代碼如下:

 

  1. <input type="button" value="提交" onclick="$Actions[‘ajaxTestAction’]();" /> 

很簡單吧,SimpleFramework并沒有改變現(xiàn)有的編程習(xí)慣,沒有標(biāo)簽庫,僅僅是簡單的HTML和Javascript。

3.3 如何提交數(shù)據(jù)

Ajax可以通過Get或POST來提交數(shù)據(jù),但您必須自己拼接參數(shù)序列,這個非常麻煩。SimpleFramework提供了一個屬性formSelector,快速提交HTML里您關(guān)心的數(shù)據(jù)區(qū)域,參考以下代碼:

 

  1. <ajaxRequest name="ajaxTestAction"  handleClass="net.simpleframework.demo.TestAction" 
  2.    handleMethod="testMethod" formSelector=".div1, .div2 select"> 

再看一下HTML表單的定義:

 

 

 

  1. <div class="div1"> 
  2. ... ...  
  3. </div> 
  4. <div class="div2"> 
  5. ... ...  
  6. </div> 
  7. <input type="button" value="提交" onclick="$Actions[‘ajaxTestAction’]();" /> 
  8.  

關(guān)于selector,如果您了解Prototype、jQuery等javascript框架,那就一定非常熟悉。如果不了解,建議先在網(wǎng)上Google一下,先了解什么是CSS選擇器。

上述含義是提交類名為“div1”下的所有表單元素和類名為“div2”下的select元素,這是不是比定義一個form標(biāo)簽要簡單很多呢。

注:如果提交二進制文件,需使用submit組件或swfUpload組件。

3.4 編寫HandleClass

AjaxRequest組件的HandleClass可以理解為Struts的Action,其接口的定義如下:

 

  1. package net.simpleframework.web.page.component.base.ajaxrequest;  
  2.  
  3. public interface IAjaxRequestHandle extends IComponentHandle {  
  4.  
  5.   IForward ajaxProcess(ComponentParameter compParameter) throws Exception;  
  6.  
  7. }  

 

如果沒有指定handleMethod,則ajaxProcess將會執(zhí)行,如果指定了handleMethod,則執(zhí)行名稱為handleMethod的方法,其方法結(jié)構(gòu)和ajaxProcess是一樣的。

建議您繼承AbstractAjaxRequestHandle而不是實現(xiàn)IAjaxRequestHandle,因為抽象父類會提供一些有意義的方法給您使用,對于任何其它組件,這一原則總是適用的。

3.5 IForward介紹

handleClass將會返回IForward接口,類似Struts的ActionForward,但有不同。IForward有三個具體的實現(xiàn):

TextForward,返回純文本

JsonForward,返回Json格式的文本,構(gòu)造時需傳遞Map、List、Array等類型

UrlForward,返回HTML,構(gòu)造時需傳遞url地址

大部分情況,JsonForward是一個更好的選擇。

3.6 編寫回調(diào)腳本

定義回調(diào)腳本,參考如下代碼:

 

  1. <ajaxRequest name="ajaxTestAction"  handleClass="net.simpleframework.demo.TestAction" 
  2.    handleMethod="testMethod"> 
  3.    <jsCompleteCallback> 
  4.       alert(json);  
  5.       alert(responseText);  
  6.    </jsCompleteCallback> 
  7. </ajaxRequest> 

 

 

 

3.6.1 回調(diào)函數(shù)原型

在編寫jsCompleteCallback的時候,很多用戶不知道如何下手,更不知道返回的數(shù)據(jù)在哪。其實,jsCompleteCallback就是一個javascript函數(shù),只不過采用xml描述,把傳遞給你的參數(shù)省略了。請看jsCompleteCallback原型的定義:

 

  1. jsCompleteCallback = function(req, responseText, json)  {  

 

解釋一下三個參數(shù):

req:原生ajax response對象

responseText:返回的文本對象

json:如果handleClass返回的是JsonForward,則json為解析過的JSON對象

3.6.2 通過屬性直接綁定到HTML區(qū)域

ajaxRequest很多應(yīng)用都是返回一段HTML,然后更新到某個區(qū)域,如果通過jsCompleteCallback一定會很簡單,下面是一段代碼樣例:

 

  1. var div = $("divid");  
  2. div.innerHTML = responseText

 

ajaxRequest同時還提供了一個屬性updateContainerId,可以不用寫jsCompleteCallback,而直接綁定到updateContainerId指定的區(qū)域id,不光如此,還能執(zhí)行responseText中的js函數(shù),代碼如下:

 

  1. <ajaxRequest name="ajaxTestAction"  handleClass="net.simpleframework.demo.TestAction" 
  2.    handleMethod="testMethod" updateContainerId="divid"> 
  3. </ajaxRequest> 

 

四、高級特性

4.1 動態(tài)傳遞參數(shù)

如果提交的數(shù)據(jù)是變化的,或則ajaxRequest組件是一個,但綁定的HTML元素事件是多個,又該怎么處理呢?

舉個實例,比如“發(fā)送郵件”,一般分為“保存到草稿”、“直接發(fā)送”,因為提交的數(shù)據(jù)是一樣的,則可以通過動態(tài)參數(shù)傳遞,在兩個按鈕的事件上分別綁定到同一個ajaxRequest組件。假設(shè)ajaxRequest組件的名稱為sentMail,參考如下代碼:

 

  1. <input type="button" value="保存到草稿" onclick="$Actions[‘sentMail’]('type=0');" /> 
  2. <input type="button" value="直接發(fā)送" onclick="$Actions[‘sentMail’]('type=1');" /> 

$Actions[‘sentMail’]其實就是一個函數(shù),你在調(diào)用的時候,可以設(shè)置參數(shù)為拼接的字符串(見代碼紅色部分),這是一個經(jīng)常使用的特性。還需要注意一點,參數(shù)傳遞的優(yōu)先級是高于formSelector的。

4.2 自動加載js及css文件

自動加載js及css文件是ajaxRequest組件一個非常重要的特性,您可以直接在Ajax的返回數(shù)據(jù)中定義js或css文件,而不必?fù)?dān)心它們是否已加載,如何加載等一系列問題。

您可以通過firebug來體驗自動加載過程:)

4.3 作為其它組件的引用

組件的引用是SimpleFramework組件體系一個非常實用的功能。比如,window組件通過引用ajaxRequest組件來裝載window面板內(nèi)容,代碼如下:

  1. <ajaxRequest name="ajaxTestPage"> 
  2.   <urlForward>/window_content.jsp</urlForward> 
  3. </ajaxRequest> 
  4. <window name="testWindow" contentRef="ajaxTestPage" width="480" height="600"> 
  5. </window> 
  6.  

 

 

 

當(dāng)調(diào)用了testWindow組件,ajaxTestPage將被觸發(fā)并返回/window_content.jsp生成的數(shù)據(jù)到window面板。以后還會對此特性做更多的介紹。

4.4 緩存返回的數(shù)據(jù)

ajaxRequest組件的緩存功能非常簡單,設(shè)置屬性updateContainerCache=true即可。如果您是注冊用戶,可以在SimpleFramework站點上體驗一下:右上方的個人屬性編輯,采用的是標(biāo)簽頁,當(dāng)標(biāo)簽頁被打開后,下次將使用緩存功能。

4.5 一些不常用的屬性

disabledTriggerAction,當(dāng)組件被調(diào)用時,是否禁止調(diào)用元素,默認(rèn)為true,目的是防止被多次調(diào)用,比如用戶連續(xù)的點擊操作

parallel,是否允許并行執(zhí)行,默認(rèn)為false,在連續(xù)調(diào)用ajaxRequest時,在允許并行時,才可同時執(zhí)行,否則將拋棄當(dāng)前的調(diào)用

jobExecute,執(zhí)行權(quán)限,該屬性依賴機構(gòu)模塊

confirmMessage,客戶端需要確認(rèn)的消息

throwException(window、alert),異常的展示方式。提供alert展示或window組件展示,window組件展示可獲取更多的異常信息

showLoading,是否顯示裝載進度(右上角顯示),默認(rèn)為true

責(zé)任編輯:金賀 來源: SimpleFramework.net
相關(guān)推薦

2011-04-29 09:33:22

SimpleFrame

2011-04-22 10:50:18

SimpleFrame

2011-04-22 10:45:14

SimpleFrame

2011-04-21 10:59:44

SimpleFrameWeb

2011-04-28 10:45:39

SimpleFrame

2011-04-22 10:01:59

SimpleFrame

2011-04-22 10:13:35

SimpleFrame

2011-04-22 09:48:51

SimpleFrame

2011-04-22 10:34:09

SimpleFrame

2011-04-29 14:53:56

SimpleFrame

2011-04-29 14:30:05

2021-07-07 21:40:46

Rust函數(shù)勸退

2023-03-03 08:18:41

2023-01-06 08:18:44

2012-08-22 10:18:03

PHP

2012-01-13 15:59:07

2021-05-08 10:44:35

SpringSecur登錄詳情

2024-05-06 07:58:23

MoE模型系統(tǒng)

2012-11-14 11:03:14

OSSEC文件檢查SYSCHECK

2012-11-14 11:09:14

OSSECactive-resp
點贊
收藏

51CTO技術(shù)棧公眾號

欧美国产丝袜视频| 91精品尤物| 欧美国产日韩一二三区| 国产欧美va欧美va香蕉在| 成人高潮免费视频| 成人福利一区| 青娱乐精品视频| 日韩亚洲综合在线| 每日在线更新av| 国产黄色片免费观看| 亚洲一级高清| 日韩欧美一区中文| 亚洲午夜精品久久久久久人妖| 岛国最新视频免费在线观看| 国产精品综合二区| 青青草成人在线| 久久中文免费视频| 国产一区二区三区91| 欧美一区二区视频在线观看2022 | 日韩理论电影中文字幕| 欧美亚洲高清一区| 欧美日韩国产一二| 国产精品毛片一区二区在线看舒淇| 日韩视频二区| 精品久久一区二区三区| 日韩一级理论片| 日韩福利一区二区| 国产一区二区福利视频| 国产91热爆ts人妖在线| 久热这里只有精品在线| 98精品久久久久久久| 欧美日韩视频一区二区| 欧美图片激情小说| 麻豆网站视频在线观看| 国产日韩欧美不卡在线| 国产成人精品综合| 国产午夜久久久| 亚洲成人二区| 色诱女教师一区二区三区| 蜜臀av免费观看| 999福利在线视频| 亚洲免费视频成人| 亚洲一区不卡在线| 经典三级在线| 久久综合狠狠综合久久综合88 | 欧美高清电影在线看| 麻豆视频免费在线播放| 久久爱.com| 日本韩国欧美在线| 99热在线这里只有精品| 成人在线黄色电影| 久久综合九色综合97婷婷| 国产精品伊人日日| 欧美视频久久久| 国产精品一区一区三区| 91免费电影网站| 91tv国产成人福利| 久久国产精品99久久人人澡| 国产精品久久久一区| 天天射天天干天天| 久久综合九色| 国产精品91在线观看| 亚洲 欧美 日韩 在线| 日韩精品中文字幕第1页| 亚洲欧美中文字幕在线一区| 日韩不卡一二三| 国产精品高清乱码在线观看| 日本韩国欧美一区| 中文字幕有码av| 日本国产亚洲| 欧美二区乱c少妇| 三级视频中文字幕| 亚洲成人精品综合在线| 91精品国产黑色紧身裤美女| 国内av免费观看| 亚洲一区二区电影| 亚洲经典中文字幕| 欧美狂猛xxxxx乱大交3| 欧美精品尤物在线观看| 日韩中文字幕在线播放| 日韩a级片在线观看| 极品中文字幕一区| 国产极品精品在线观看| 中文亚洲av片在线观看| 在线观看一区视频| 91国语精品自产拍在线观看性色| 美女网站视频色| 亚洲色图网站| 精品午夜一区二区三区在线观看| 少妇av一区二区三区| www.com.av| 欧美喷水视频| 亚洲男人天堂古典| 日本免费www| 91精品国产调教在线观看| 久久久久久亚洲精品中文字幕 | 亚洲一区欧美| 孩xxxx性bbbb欧美| 五月婷婷激情五月| 国产福利不卡视频| 蜜桃视频在线观看91| 国产日韩欧美中文字幕| 日韩激情视频在线观看| 亚洲资源在线看| 香蕉国产在线视频| 国产精品福利一区二区| 99久久免费观看| 蜜桃精品在线| 欧美精品一区二区三| 少妇无套高潮一二三区| 99热精品久久| 国产精品毛片a∨一区二区三区| 欧美三日本三级少妇三99| 国产高清一区二区三区视频 | 91久久精品国产91久久性色tv | 中文字幕综合| 亚洲免费伊人电影在线观看av| 在线免费观看亚洲视频| 久久久久久穴| 国产一区在线观| 国产最新在线| 欧美三级韩国三级日本三斤 | 国产精品网站在线播放| 俄罗斯av网站| 综合激情久久| 久久深夜福利免费观看| 亚洲 小说区 图片区| 国产美女诱惑一区二区| 国产一区香蕉久久| 中文字幕在线一| 9久草视频在线视频精品| 中文精品一区二区三区| 欧美日韩视频免费观看| 亚洲精品美女久久久| 欧美日韩精品在线观看视频| 麻豆久久久久久| 视频一区视频二区视频| 成人教育av| 日韩av最新在线| 久热精品在线观看| 国产不卡视频在线观看| 国产高清精品软男同| 日本精品在线中文字幕| 亚洲经典中文字幕| 日本一级淫片色费放| 国产成人精品免费在线| 五月天色婷婷综合| 99国内精品久久久久| 丝袜美腿亚洲一区二区| 波多野结衣在线电影| 欧美国产综合一区二区| 欧美黄色性生活| 精品成人影院| 国产精品96久久久久久又黄又硬| 韩国精品视频| 色八戒一区二区三区| 麻豆av免费观看| 久久久999| 日韩精品最新在线观看| 日韩中文影院| 最近更新的2019中文字幕 | 日韩情涩欧美日韩视频| 极品久久久久久| 综合亚洲自拍| 9久re热视频在线精品| 久久久久久亚洲| 日本激情一区二区三区| 亚洲成人在线观看视频| xxxx黄色片| 欧美专区一区二区三区| 日韩精品久久久毛片一区二区| 日韩欧美一区二区三区免费观看 | 欧美成人国产| 成人免费在线看片| 精精国产xxxx视频在线播放| 亚洲精品在线不卡| 一道本在线视频| 日本aⅴ亚洲精品中文乱码| 欧美一区二区在线| 国产欧美在线观看免费| 欧美成人精品一区| 人妻一区二区三区免费| 色网综合在线观看| 日本免费网站视频| 丁香婷婷综合激情五月色| 亚洲一区三区电影在线观看| 伊人久久大香| 久久久久久久久久久网站| 亚洲人成色777777老人头| 欧美在线综合视频| 全程偷拍露脸中年夫妇| 99精品在线观看视频| 国产又大又黄又粗又爽| 亚洲欧美文学| 日韩欧美99| 91麻豆精品激情在线观看最新| 欧美中在线观看| 成人免费视屏| 亚洲人成网站在线播| 国产美女明星三级做爰| 日韩欧美在线观看| 一级片一级片一级片| 97精品久久久久中文字幕 | 国产不卡视频一区| 日本久久精品一区二区| 欧美涩涩视频| 性欧美精品一区二区三区在线播放 | av片在线观看免费| 精品一区二区三区三区| 大波视频国产精品久久| 国产精品视频不卡| 99r国产精品视频| 欧美日韩精品综合| 欧美日韩免费做爰视频| 国产麻豆精品一区二区| 免费看的黄色大片| 国产精品久久久久蜜臀| 久久久久久精| 日韩精品一区二区三区中文| 日韩一级大片在线观看| 青青操免费在线视频| 一区精品在线播放| a级大片在线观看| 粉嫩在线一区二区三区视频| www.com黄色片| 久久精品盗摄| www.好吊操| 一本一道久久综合狠狠老| 欧美日韩精品免费看| 99re8这里有精品热视频免费| 国产在线视频一区| 四虎4545www精品视频| 欧美在线性爱视频| 一区二区三区伦理| 久久综合伊人77777| 在线日本中文字幕| 欧美精品v日韩精品v韩国精品v| 日韩大片免费在线观看| 一区二区高清免费观看影视大全| 日韩av网站在线播放| 久久久久久久久伊人| 强迫凌虐淫辱の牝奴在线观看| 国产成人精品三级| 亚洲36d大奶网| 美腿丝袜在线亚洲一区| 天天干在线影院| 首页国产欧美久久| 国产视频一区二区视频| 日韩制服丝袜先锋影音| 国产a级片免费观看| 久久婷婷亚洲| 日本999视频| 日韩国产欧美在线视频| www.激情小说.com| 免费成人你懂的| av污在线观看| 极品少妇一区二区| 少妇愉情理伦片bd| 丁香桃色午夜亚洲一区二区三区| 黑人无套内谢中国美女| 成人午夜av影视| 亚洲天堂美女视频| 久久综合久色欧美综合狠狠| 亚洲精品国产一区黑色丝袜| 欧美国产欧美亚州国产日韩mv天天看完整| 久久久久久国产免费a片| 中文字幕av一区 二区| 羞羞在线观看视频| 樱花影视一区二区| 国产午夜精品无码一区二区| 欧美性xxxx在线播放| 手机av免费观看| 欧美另类z0zxhd电影| a级片免费观看| 亚洲电影免费观看| 国产在线观看高清视频| 色偷偷av一区二区三区| 二区在线播放| 91av在线看| abab456成人免费网址| 91久久久久久久久久| 国产精品17p| 日本在线免费观看一区| 亚洲天天综合| 少妇高潮喷水在线观看| 日韩成人免费电影| 日韩精品xxx| 国产片一区二区三区| 91九色丨porny丨极品女神| 午夜伊人狠狠久久| 国产黄在线免费观看| 亚洲国产精品一区二区久久恐怖片| 日韩精品在线免费视频| 欧美日韩激情一区二区| 黄色www视频| 夜夜嗨av色一区二区不卡| av免费在线观看网站| 欧美一级bbbbb性bbbb喷潮片| 欧美成人高清视频在线观看| 国产精品亚洲综合| 成人6969www免费视频| 日韩成人手机在线| 日韩电影一区二区三区| 精品久久久久久无码人妻| 国产网站一区二区| 国产精品7777| 欧美挠脚心视频网站| 性感美女一级片| 欧美成人免费网| 成人看片网站| 国产一区二区免费电影| 午夜精品毛片| 无码人妻精品一区二区三区66| 成人午夜在线播放| 亚洲欧美va天堂人熟伦| 午夜精品123| 国产普通话bbwbbwbbw| 亚洲人成网7777777国产| 九色91在线| 91久久久久久久久久久| 成人情趣视频网站| 日本精品一区在线观看| 国产一区二区视频在线播放| 99久久久无码国产精品性| 亚洲国产欧美日韩另类综合| 国产乱人乱偷精品视频| 亚洲全黄一级网站| 国产在线88av| 99热在线国产| 一区二区蜜桃| 日韩欧美亚洲另类| 欧美激情一区二区在线| 日本中文字幕久久| 亚洲精品99久久久久| 天堂亚洲精品| 99国产高清| 欧美精品一卡| 中文字幕一区二区三区四| 国产精品久久久久久久久久久免费看| 手机看片久久久| 精品视频www| 亚洲小少妇裸体bbw| 国产精品一区二区欧美黑人喷潮水 | 精品久久久中文| 日本美女一级片| 国产做受高潮69| a级日韩大片| 欧美男女爱爱视频| www..com久久爱| 91精品国产乱码久久久张津瑜| 精品盗摄一区二区三区| 国产丝袜在线播放| 国产视频一区二区三区四区| 亚洲精品美女| 亚洲一区二区在线免费| 精品国产91久久久| 神马电影在线观看| 日韩av电影院| 精品国产成人| 日本中文字幕二区| 有坂深雪av一区二区精品| 男人天堂网在线视频| 亚洲2020天天堂在线观看| 欧美成人精品一区二区男人小说| 国产日韩欧美在线| 色777狠狠狠综合伊人| jizzzz日本| 亚洲精选视频免费看| 欧美一区二区三区成人片在线| 91精品国产91久久久久| 九色精品91| www.com黄色片| 亚洲综合免费观看高清完整版在线| 日韩一级片免费观看| 日本最新高清不卡中文字幕| 日韩片欧美片| 精品人妻二区中文字幕 | 成人一二三四区| 久久久av亚洲男天堂| 97视频一区| 亚洲成熟丰满熟妇高潮xxxxx| 国产欧美日韩另类一区| 99精品免费观看| 97在线视频免费| 国产欧美一区二区三区精品观看| 亚洲欧美日本一区二区三区| 亚洲国产视频一区二区| 在线免费av片| 欧美肥老妇视频| 美女久久久久| 午夜免费一级片| 狠狠躁夜夜躁人人爽超碰91| 又爽又大又黄a级毛片在线视频| av一区二区三区免费| 久久精品官网| 精品欧美一区二区久久久久 | 亚洲va男人天堂| 亚洲精品女人| 永久免费看片视频教学| 日韩成人中文电影|