精品欧美一区二区三区在线观看 _久久久久国色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福利国产成人精品播放| 成年人网站在线| caoporn国产精品| 国产精品美女免费看| 一区二区在线观看免费视频| 西瓜成人精品人成网站| 在线播放中文字幕一区| 国产69精品久久久久久久| av电影在线网| av亚洲产国偷v产偷v自拍| 国产精品久久久久久久久久三级 | 深夜福利一区| 日本福利一区二区| 成人在线视频一区二区三区| 成人免费在线观看| 不卡电影一区二区三区| 国产精品在线看| 精品国产免费观看| 伊人久久大香线蕉综合四虎小说| 亚洲品质视频自拍网| 日本人妻一区二区三区| 国产香蕉久久| 尤物视频在线看| 亚洲性人人天天夜夜摸| 最近中文字幕日韩精品| 实拍女处破www免费看| 91亚洲精品视频在线观看| 欧美日韩午夜在线| 粗暴91大变态调教| 成人国产电影在线观看| 亚洲男同性视频| 亚洲第一综合| 黄色在线观看网| 99re热这里只有精品视频| 5g国产欧美日韩视频| 伊人亚洲综合网| 久久午夜影视| 欧美亚洲视频在线看网址| 国产一卡二卡在线播放| 综合一区av| 日韩在线观看免费全| 国产7777777| 国产一区不卡| 亚洲嫩模很污视频| 搡老熟女老女人一区二区| 成人动漫视频| 精品国产电影一区二区| av在线天堂网| 99精品在免费线中文字幕网站一区| 欧美日韩1区2区| 久久婷婷综合色| 成人精品一区二区三区电影| 欧美在线免费观看视频| 亚洲精品乱码久久久久久自慰 | 欧美一级片在线播放| 久久综合综合久久| 激情久久久久久| 久久免费视频在线| 国产精品黄色大片| 久久黄色网页| 国产精品精品一区二区三区午夜版 | 欧洲美女日日| 色偷偷88888欧美精品久久久| www.一区二区.com| 疯狂揉花蒂控制高潮h| 伊人久久噜噜噜躁狠狠躁| 精品国产伦一区二区三区免费| 少妇伦子伦精品无吗| 北条麻妃一区二区三区在线| 亚洲国产精品中文| 人人人妻人人澡人人爽欧美一区| 日韩精品免费一区二区三区| 久久天天躁狠狠躁夜夜躁2014| 欧美日韩三级在线观看| 亚洲人成免费| 日本一区二区三区四区视频| 亚洲天堂视频网| 国产激情一区二区三区四区 | 国产乱码精品一区二区三区四区| 亚洲图片欧美午夜| 亚洲一级二级片| 狠狠色狠狠色综合日日tαg| 青青青国产精品一区二区| 亚洲精品无码久久久久| 国产精品综合一区二区| 激情视频一区二区| 午夜伦理在线| 亚洲va欧美va人人爽| 粗暴91大变态调教| 日韩成人精品| 亚洲天堂免费视频| 欧美精品videos极品| 亚洲欧美日本国产专区一区| 国产日韩欧美中文在线播放| 空姐吹箫视频大全| 欧美国产一区二区在线观看| 国产性生活免费视频| 成人美女大片| 日韩欧美在线一区二区三区| 国产交换配乱淫视频免费| 日韩欧美二区| 66m—66摸成人免费视频| 亚洲午夜精品久久久| heyzo一本久久综合| 资源网第一页久久久| 91av久久| 日韩精品一区二区三区四区视频| 欧美老妇交乱视频| 日韩精品人妻中文字幕有码 | 亚洲精品自拍第一页| 国产午夜手机精彩视频| 久久美女性网| 国产三区精品| 宅男网站在线免费观看| 欧美无砖专区一中文字| 国产精品福利导航| 欧美日韩hd| 成人黄色av网站| 国产在线资源| 天天色天天操综合| 伦伦影院午夜理论片| 久久精品播放| 国产成人精品电影| 污污的视频网站在线观看| 亚洲欧美中日韩| 久久综合伊人77777麻豆最新章节| 久久视频在线观看| 欧美激情精品久久久久久免费印度 | 偷拍夫妻性生活| 亚洲国产日本| 国产91视觉| 午夜小视频福利在线观看| 欧美福利电影网| www中文在线| 日韩高清国产一区在线| 欧美精品与人动性物交免费看| 成人av影院在线观看| 精品国产伦一区二区三区观看方式| 日韩三级久久久| 久久er99精品| 一区二区三区在线视频111| 蜜桃视频成人m3u8| 国产香蕉97碰碰久久人人| 日韩在线 中文字幕| 久久日韩粉嫩一区二区三区| 精品人妻一区二区三区四区在线 | 天天好比中文综合网| 少妇一区视频| 亚洲性无码av在线| 欧美性猛交xxxx乱大交hd | 99久久夜色精品国产网站| 99九九视频| 欧美性video| 亚洲成人aaa| 中文字幕在线观看视频网站| 99久久精品国产精品久久| 欧美精品久久久久久久自慰| 激情视频极品美女日韩| 91成人福利在线| 蜜桃成人在线视频| 欧美调教femdomvk| 中国一级片在线观看| 国产精品一区在线观看你懂的| 欧美一级爱爱视频| 免费萌白酱国产一区二区三区| 57pao成人永久免费视频| 久久精品蜜桃| 在线播放91灌醉迷j高跟美女| www.毛片com| 不卡的av电影| 免费看黄色一级大片| 91综合久久一区二区| 3d动漫精品啪啪一区二区三区免费| 青草影视电视剧免费播放在线观看| 亚洲高清色综合| 黄瓜视频在线免费观看| 中文字幕久久午夜不卡| 男人操女人下面视频| 亚洲一区自拍| 亚洲一区二区三区涩| 亚洲伊人影院| 日本亚洲欧美成人| 99热国产在线| 亚洲欧美制服中文字幕| 国产精品嫩草影院精东| 精品久久久中文| 人人艹在线视频| proumb性欧美在线观看| 日韩中文字幕a| 影院欧美亚洲| 亚洲日本一区二区三区在线不卡 | 久久婷婷久久| 国产人妻互换一区二区| 亚洲区小说区图片区qvod| 成人免费在线视频网站| av女在线播放| 久久精品国产96久久久香蕉| 污视频网站在线播放| 7777女厕盗摄久久久| 国产精品人人人人| 一区av在线播放| 日韩欧美一级在线播放| 免费一级片在线观看| 国产亚洲午夜高清国产拍精品| 99九九99九九九99九他书对| 国产精品毛片| 亚洲精品国产suv一区88| 精品久久久久久久久久久下田| 91观看网站| 欧美日一区二区三区| 91禁外国网站| 日本片在线看| 久久精品成人动漫| 久草福利在线视频| 精品国产91亚洲一区二区三区婷婷| 中文在线免费观看| 色综合久久中文综合久久牛| 久久婷婷综合国产| 综合久久综合久久| 精品无码人妻一区二区免费蜜桃| 成人免费观看av| a级大片免费看| 麻豆精品在线观看| 日本va中文字幕| 久久av在线| 成人在线免费在线观看| 亚洲三级影院| www.好吊操| 欧美成人一品| 国产奶头好大揉着好爽视频| 999久久久精品国产| 日日骚一区二区网站| 亚洲人成网站77777在线观看| 国产欧美一区二区在线播放| 红杏aⅴ成人免费视频| 岛国视频一区| 91精品尤物| 99久久伊人精品影院| 日韩中文字幕无砖| 91免费看网站| 国产人与zoxxxx另类91| 91香蕉亚洲精品| 国产一区二区三区国产精品| 91色视频在线导航| 精品一区二区三区中文字幕在线| 成人h视频在线观看播放| 免费一级欧美在线观看视频| 国产日韩欧美在线看| 国产精品色婷婷在线观看| 91日韩在线播放| xvideos.蜜桃一区二区| 国产精品视频一区二区三区经| 国产精品x8x8一区二区| 国产伦精品一区二区三区在线| 欧美日韩导航| 欧美一区二区在线| 色小子综合网| 中文字幕在线乱| 蜜臀久久精品久久久久| jizz一区二区| 无码人妻精品一区二区三应用大全| wwwwww.欧美系列| 亚洲自拍偷拍图| 日韩理论片网站| 国产亚洲欧美精品久久久久久| 亚洲a一区二区| 精人妻无码一区二区三区| 欧美系列一区二区| av资源免费看| 亚洲国产一区二区三区在线观看| 人妻精品一区一区三区蜜桃91| 亚洲美女av在线| 中文字幕日本在线| 欧美高清在线观看| 中文字幕21页在线看| 国产精品一区二区三区毛片淫片| 久久久久久爱| 看欧美日韩国产| 天天做天天爱天天爽综合网| 中文字幕一区二区三区在线乱码| 欧美一区激情| 韩国日本美国免费毛片| 国产在线精品免费| aaaaa一级片| 国产精品久久国产精麻豆99网站| 久久久久久久国产精品毛片| 欧美小视频在线| av在线亚洲天堂| 亚洲女人初尝黑人巨大| 搞黄网站在线观看| 日韩免费av在线| 亚洲高清在线一区| 日本欧美色综合网站免费| 综合久久久久| 啊啊啊国产视频| 成人福利视频在线看| 欧美巨胸大乳hitomi| 精品国产精品自拍| 国产女人18毛片18精品| 亚洲精品在线91| 日本色护士高潮视频在线观看| 国产精品久久久久久av下载红粉| 一区二区网站| 亚洲一二区在线| 欧美亚洲自偷自偷| 色诱av手机版| 国产精品黄色在线观看| 黄色在线视频网址| 精品免费一区二区三区| 亚洲搞黄视频| 茄子视频成人在线| 国产福利一区二区精品秒拍| 中文字幕免费在线不卡| 久久九九国产| 国产老熟女伦老熟妇露脸| 一区二区三区在线观看国产| 一级黄色a毛片| 亚洲日韩欧美视频一区| 激情国产在线| 国产精品福利视频| 伊人久久大香线蕉综合四虎小说| 污污的网站18| 国产日韩欧美一区二区三区综合| 日韩欧美一区二区在线观看 | 538国产精品一区二区在线| 不卡的国产精品| 亚洲免费久久| 日韩国产欧美在线视频| xxxx日本免费| 日韩欧美成人免费视频| 无码国产精品96久久久久| 久久久久久成人精品| 日韩中文字幕| 久久www视频| 国产一区二区精品在线观看| 天天色影综合网| 欧美日韩亚洲另类| h视频网站在线观看| 国产精品视频自在线| 日韩成人影院| 奇米视频888| 1024亚洲合集| av片免费播放| 欧美国产日韩一区| 丁香一区二区| 日韩小视频在线播放| 91在线你懂得| 无码视频在线观看| 在线观看日韩欧美| 天堂综合在线播放| 日本成人在线不卡| 成人免费高清视频在线观看| 国产黄色片免费看| 亚洲欧美资源在线| 福利视频一区| 日本一区二区三区四区五区六区| 国产精品正在播放| 日本在线视频中文字幕| 日韩不卡在线观看| 亚洲欧美在线成人| 99久久久无码国产精品性色戒| 国产经典欧美精品| 国内免费精品视频| 亚洲天堂男人天堂| 国产不卡精品| 国产精品国产对白熟妇| 久久综合九色综合久久久精品综合 | 欧美女激情福利| 国产美女视频免费观看下载软件| 欧美日韩国产丝袜美女| 国产三级视频在线看| 91久久久久久久久| 99国产精品视频免费观看一公开| 西西444www无码大胆| 欧美日韩国产片| 欧美人与动牲性行为| 欧美成人综合一区| 久久se精品一区二区| 日韩精品在线免费看| 正在播放国产一区| 51亚洲精品| 日本成人中文字幕在线| 伊人色综合久久天天| 欧美视频综合| 亚洲影院高清在线| 久久婷婷久久| 美女视频黄免费| 一级做a爰片久久毛片美女图片| 日韩视频一区二区三区四区| 各处沟厕大尺度偷拍女厕嘘嘘| 18欧美亚洲精品| 九一国产在线| 国产成人精品一区二区三区福利| 丝瓜av网站精品一区二区| 国内精品久久久久伊人av| 九色porny丨国产首页在线| 亚洲精品二区|