午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > Struts2和Ajax數(shù)據(jù)交互示例詳解

Struts2和Ajax數(shù)據(jù)交互示例詳解

熱門標(biāo)簽:立陶宛地圖標(biāo)注 河間市地圖標(biāo)注app 東平縣地圖標(biāo)注app 中國地圖標(biāo)注不明確情況介紹表 地圖標(biāo)注推銷坑人 怎樣在地圖標(biāo)注文字 大眾點(diǎn)評400電話怎么申請 上海企業(yè)外呼系統(tǒng)價(jià)錢 電銷機(jī)器人 長春

前言

我們從Web 2.0的隨波逐流,Ajax的大放異彩說起,Struts2框架自己整合了對Ajax的原生支持(struts 2.1.7+,之前的版本可以通過插件實(shí)現(xiàn)),框架的整合只是使得JSON的創(chuàng)建變得異常簡單,并且可以簡單的融入到Struts2框架中,當(dāng)然這只是在我們需要JSON的時(shí)候才會顯得流光溢彩。

ajax請求在項(xiàng)目中常常使用,今天就平時(shí)掌握的總結(jié)一下,關(guān)于使用ajax請求到Struts2中的action時(shí),前臺頁面與后臺action之間的數(shù)據(jù)傳遞交互問題。

這里我主要記錄下自己所掌握的幾種方式。可以根據(jù)自己平時(shí)項(xiàng)目的需求來進(jìn)行選擇。

 1.使用stream類型的result

此種類型可以直接讓Struts2中的action向客戶端瀏覽器生成文本響應(yīng)。

示例:

jsp頁面:

%@ taglib prefix="s" uri="/struts-tags" %>
%@ page contentType="text/html;charset=UTF-8" language="java" %>
html>
head>
 title>ajax提交登錄信息/title>
 %--導(dǎo)入js插件--%>
 script src="${PageContext.request.contextPath}/demo/js/jquery-1.4.4.min.js" type="text/javascript">/script>
/head>
body>
h3>異步登錄/h3>
s:form id="loginForm" method="POST">
 s:textfield name="username"/>
 s:textfield name="psw"/>
 input id="loginBtn" type="button" value="提交">
/s:form>
div id="show" style="display:none;">/div>
/body>
script type="text/javascript">
 $("#loginBtn").click(function(){
 $("#show").hide();
 //發(fā)送請求login 以各表單里歌空間作為請求參數(shù)
 $.get("login",$("#loginForm").serializeArray(),
  function(data,statusText){

  $("#show").height(80)
   .width(240)
   .css("border","1px solid black")
   .css("border-radius","15px")
   .css("backgroud-color","#efef99")
   .css("color","#ff0000")
   .css("padding","20px")
   .empty();
  $("#show").append("登錄結(jié)果:"+data+"br/>");
  $("#show").show(600);

 },"html");//指定服務(wù)器響應(yīng)為html
 });
/script>
/html>

處理邏輯的action:

/**
 * Description:eleven.action
 * Author: Eleven
 * Date: 2018/1/26 18:09
 */
public class LoginAction extends ActionSupport{
 private String username;
 private String psw;
 //輸出結(jié)果的二進(jìn)制流
 private InputStream inputStream;

 public String login() throws Exception{
 if(username.equals("tom") psw.equals("123")){
  inputStream = new ByteArrayInputStream("恭喜您,登錄成功".getBytes("UTF-8"));
 }else{
  inputStream = new ByteArrayInputStream("對不起,登錄失敗".getBytes("UTF-8"));
 }
 return SUCCESS;
 }

 //提供get方法
 public InputStream getInputStream() {

 return inputStream;
 }

 public String getUsername() {
 return username;
 }

 public void setUsername(String username) {
 this.username = username;
 }

 public String getPsw() {
 return psw;
 }

 public void setPsw(String psw) {
 this.psw = psw;
 }
}

action中除了接收頁面?zhèn)鬟f的用戶名、密碼外,還有一個(gè)InputStream類型的成員變量,并為它提供了對應(yīng)的get方法。get方法中返回的二進(jìn)制流將會直接輸出給客戶端瀏覽器。

struts.xml配置:

?xml version="1.0" encoding="UTF-8" ?>
!DOCTYPE struts PUBLIC
 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
 "http://struts.apache.org/dtds/struts-2.3.dtd">
struts>
 constant name="struts.enable.DynamicMethodInvocation" value="false" />
 constant name="struts.devMode" value="true" />
 package name="default" namespace="/" extends="struts-default">
 action name="login" class="eleven.action.LoginAction" method="login">
  result type="stream">
  !--指定stream流生成響應(yīng)的數(shù)據(jù)類型-->
  param name="contentType">text/html/param>
  !--指定action中由哪個(gè)方法去輸出InputStream類型的變量-->
  param name="inputName">inputStream/param>
  /result>
 /action>
 /package>
/struts>

在瀏覽器中瀏覽該頁面,并輸入相關(guān)信息,然后提交,可以看到后臺action直接將消息數(shù)據(jù)返回給頁面,而同時(shí)頁面也不需要進(jìn)行刷新,而是直接在局部進(jìn)行顯示,這是利用了ajax的異步發(fā)送請求。注意,此種方式需要在struts.xml文件中要配置類型為stream的流,并設(shè)置inputName屬性,并在action中提供InputStream對應(yīng)的get方法。

運(yùn)行截圖:

2.使用json類型的result

有個(gè)jar包struts2-json-plugin-2.3.16.3.jar,可以為Struts2增加JSON插件,即當(dāng)action中的result的類型設(shè)為json時(shí),也可以在客戶端js中異步調(diào)用action,并且action中返回的數(shù)據(jù),可以直接被JSON插件序列化成json格式的字符串,并將該字符串返回給客戶端瀏覽器。

示例:

jsp頁面:

%@ taglib prefix="s" uri="/struts-tags" %>
%@ page contentType="text/html;charset=UTF-8" language="java" %>
html>
head>
 title>ajax提交登錄信息/title>
 %--導(dǎo)入js插件--%>
 script src="${PageContext.request.contextPath}/demo/js/jquery-1.4.4.min.js" type="text/javascript">/script>
/head>
body>
h3>異步登錄/h3>
s:form id="loginForm" method="POST">
 s:textfield name="username"/>
 s:textfield name="psw"/>
 input id="loginBtn" type="button" value="提交">
/s:form>
div id="show" style="display:none;">/div>
/body>
script type="text/javascript">
 $("#loginBtn").click(function(){
 $("#show").hide();
 //發(fā)送請求login 以各表單里歌空間作為請求參數(shù)
 $.get("login",$("#loginForm").serializeArray(),
  function(data,statusText){
  //此時(shí)的data中包含username,psw,age
  $("#show").height(80)
   .width(300)
   .css("border","1px solid black")
   .css("border-radius","15px")
   .css("backgroud-color","#efef99")
   .css("color","#ff0000")
   .css("padding","20px")
   .empty();  
  alert(data);
  $("#show").append(data+"br/>");
  $("#show").show(600);
 },"html");
 });
/script>
/html>

action代碼:

public class LoginAction extends ActionSupport{
 private String username;
 private String psw;
 private int age;
 public String login() throws Exception{
  age = 18;
  return SUCCESS;
 }

 public String getUsername() {
  return username;
 }

 public void setUsername(String username) {
  this.username = username;
 }

 public String getPsw() {
  return psw;
 }

 public void setPsw(String psw) {
  this.psw = psw;
 }

 public int getAge() {
  return age;
 }

 public void setAge(int age) {
  this.age = age;
 }
}

struts.xml中配置:

?xml version="1.0" encoding="UTF-8" ?>
!DOCTYPE struts PUBLIC
 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
 "http://struts.apache.org/dtds/struts-2.3.dtd">
struts>
 constant name="struts.enable.DynamicMethodInvocation" value="false" />
 constant name="struts.devMode" value="true" />
 package name="default" namespace="/" extends="struts-default,json-default">
  action name="login" class="eleven.action.LoginAction" method="login">
   result type="json">
    param name="noCache">true/param>
    param name="contentType">text/html/param>
   /result>
  /action>
 /package>
/struts>

在瀏覽器中瀏覽該頁面,并輸入相關(guān)信息,然后提交,可以看到后臺action直接將消息數(shù)據(jù)返回給頁面,而同時(shí)頁面也不需要進(jìn)行刷新,而是直接在局部進(jìn)行顯示,這是利用了ajax的異步發(fā)送請求。注意,此種方式需要在struts.xml文件中要配置package繼承json-default,且配置result類型為json,并在action中提供需要傳遞數(shù)據(jù)的對應(yīng)的get方法。當(dāng)然了前提是添加了struts2-json-plugin-2.3.16.3.jar,不然struts2是不會自動將數(shù)據(jù)轉(zhuǎn)為json格式的數(shù)據(jù)的。

效果截圖:

故我們可以總結(jié)一下result類型為json的步驟:

  1.導(dǎo)入jar包:struts2-json-plugin-2.3.7.jar  

  2.配置struts返回的結(jié)果集視圖 設(shè)置type=json

  3.設(shè)置對應(yīng)action所在的package繼承自json-default

  4.將要返回的數(shù)據(jù)提供get方法

  5.在struts.xml中設(shè)置返回?cái)?shù)據(jù)的格式

對于第5步設(shè)置返回?cái)?shù)據(jù)的格式,可以根據(jù)自己項(xiàng)目的需要,去具體設(shè)置,這里只是簡單舉例,并沒有拿復(fù)雜的數(shù)據(jù),如果是返回一個(gè)List集合,那么對于數(shù)據(jù)的格式可以進(jìn)行如下設(shè)置:

result name="test" type="json">
  !-- 設(shè)置數(shù)據(jù)的來源從某個(gè)數(shù)據(jù)得到 -->
   !-- 過濾數(shù)據(jù)從gtmList集合中得到,且只獲取集合中對象的name,跟uuid屬性 -->      param name="root">gtmList/param>
  param name="includeProperties">
    \[\d+\]\.name,
    \[\d+\]\.uuid
  /param> 
/result>

上面這種方式外,還有下面這種方式

result name="ajaxGetBySm" type="json">
   !-- 一般使用這種方式 先用來源過濾action默認(rèn)從整個(gè)action中獲取所有的(前提是此action中沒有g(shù)etAction()方法)
    但是為了方便 一般不寫root:action這個(gè)
    然后再用包含設(shè)置進(jìn)行過濾設(shè)置
   -->    
   param name="root">action/param>
   param name="includeProperties">
     gtmList\[\d+\]\.name,
     gtmList\[\d+\]\.uuid
   /param>
 /result>

上面兩種方式都是設(shè)置數(shù)據(jù)從gtmList集合中獲取且,只獲取對象的屬性為name與uuid的。這里只做簡單的舉例,具體可自己下去深入研究。

附上json類型的Result允許指定的常用參數(shù):

另外,除了以上兩種是struts2支持的ajax外,其實(shí)如果單純的只是可以讓服務(wù)器端可以跟客戶端瀏覽器進(jìn)行數(shù)據(jù)交互,可以使用response.getWrite()這種方式。

PrintWriter printWriter =response.getWriter();
printWriter.print("success");

選擇哪種方式?

對于我,如果只是對增刪改功能是否成功的一個(gè)flag判斷的數(shù)據(jù),則可優(yōu)先選擇response.getWriter().print("xxx")與設(shè)置result類型為stream的方式,但是如果是需要返回大量對象數(shù)據(jù),在頁面接收然后進(jìn)行數(shù)據(jù)展示,例如頁面通過ajax請求,需要后臺action返回一個(gè)list集合,則就要選擇配置result類型為json的方式了。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • ajax+json+Struts2實(shí)現(xiàn)list傳遞實(shí)例講解
  • struts2+jquery實(shí)現(xiàn)ajax登陸實(shí)例詳解
  • 通過Ajax兩種方式講解Struts2接收數(shù)組表單的方法
  • ajax struts2 下拉框賦值(適合所有)
  • ajax交互Struts2的action(客戶端/服務(wù)器端)
  • 使用struts2+Ajax+jquery驗(yàn)證用戶名是否已被注冊
  • Ajax+Struts2實(shí)現(xiàn)驗(yàn)證碼驗(yàn)證功能實(shí)例代碼

標(biāo)簽:內(nèi)江 四川 銅川 遼寧 營口 益陽 玉樹 本溪

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Struts2和Ajax數(shù)據(jù)交互示例詳解》,本文關(guān)鍵詞  Struts2,和,Ajax,數(shù)據(jù),交互,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Struts2和Ajax數(shù)據(jù)交互示例詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于Struts2和Ajax數(shù)據(jù)交互示例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美三级免费观看| 精品一区二区久久久久久久网站| 国产精品白丝jk白祙| 噼里啪啦国语在线观看免费版高清版| 国产精品无码无卡无需播放器| 国产精品国产三级国产aⅴ| k8久久久一区二区三区| 一区二区国产视频| 精品久久久999| 91欧美视频网站| 天天爽夜夜爽一区二区三区 | 香蕉视频999| 日本三级视频在线| 91丨porny丨蝌蚪视频| 欧美精品一卡二卡| 国产99久久久欧美黑人 | 亚洲综合无码一区二区| 亚洲欧美成人在线| 国产性色av一区二区| 国模极品一区二区三区| 中文字幕乱码人妻综合二区三区| 国产精品19乱码一区二区三区| 91原创在线视频| 日韩中文字幕视频| 久久最新免费视频| 中文字幕在线观看视频网站| 国产精品久久久久久久久动漫 | 日日躁夜夜躁aaaabbbb| 性一交一乱一乱一视频| 亚洲一区二区视频| 国产精品自在线| 少妇饥渴放荡91麻豆| 国内外成人在线| 在线播放视频一区| 91精品国自产在线观看| 免费污网站在线观看| 成人短视频下载| 久久中文字幕在线| 99热这里只有精品在线播放| 国产精品毛片一区二区在线看舒淇 | 国产精品97在线| 欧美 日韩 国产 在线| 在线不卡a资源高清| 国产精品99久久久久久久| 免费一级做a爰片久久毛片潮| 国产麻豆视频精品| 中文字幕亚洲第一| www.玖玖玖| 天天操天天干天天干| 亚洲白拍色综合图区| 亚洲高潮无码久久| 一级特黄aaa大片| 在线观看免费视频综合| 欧洲精品在线一区| 国产成人亚洲精品自产在线| 国产精品免费网站在线观看| 8090成年在线看片午夜| 中文字幕99页| 99久久er热在这里只有精品15| 欧美猛男性生活免费| 国产伦理在线观看| 99久久久久久| 久久久视频精品| 一边摸一边做爽的视频17国产| 国产91精品在线观看| 国产亚洲精品一区二555| 午夜免费精品视频| 成人高清伦理免费影院在线观看| 欧美激情a在线| 国产在线不卡av| 国产一区91精品张津瑜| 美女福利视频一区| 亚洲欧美日本一区二区| 91色视频在线| 国产免费一区二区三区在线能观看| 成年人在线免费看片| 一区二区高清免费观看影视大全| 国产一区二区不卡视频| 精品无码久久久久久久| 欧美日韩国产精品| 久久综合中文色婷婷| 国产精品一区二区av白丝下载 | 99国产精品久久久久久久成人| 在线观看免费视频综合| 国产夫妻自拍一区| av女名字大全列表| 色偷偷9999www| 特大黑人巨人吊xxxx| 亚洲精品国产一区二区精华液| 精品欧美一区二区在线观看视频 | 天堂中文视频在线| 久久综合av免费| 国产福利久久| 国产精品无码一区| 日韩久久免费电影| 美女露出粉嫩尿囗让男人桶| 国产婷婷色一区二区三区四区| 国产精品成人一区二区三区 | 99久久久国产精品无码免费| 亚洲最新视频在线| 日本中文字幕在线不卡| 亚洲精品高清在线观看| 日韩成人av网站| 蜜乳av一区二区| 97视频在线观看播放| 日韩 欧美 中文| 亚洲国产三级网| 中文字幕av网址| 欧美性大战久久久久久久| av在线观看地址| 国产欧美精品一区| 亚洲春色综合另类校园电影| 久久狠狠亚洲综合| 国产欧美欧洲| 久久国产夜色精品鲁鲁99| 热99精品里视频精品| 在线免费观看av片| 日韩在线视频观看| 黑丝av在线播放| 在线一区二区观看| 爆乳熟妇一区二区三区霸乳| 国产精品国产三级国产三级人妇| 亚洲一区二区免费视频软件合集| 蜜桃av噜噜一区二区三区小说| 91精品网站| 美国一区二区三区在线播放| 国产欧美精品在线| www.色亚洲| 国产一区二中文字幕在线看| 国产美女裸体无遮挡免费视频| 久久精品视频免费播放| 男女视频免费看| 色在人av网站天堂精品| 国产91av视频| 欧美激情免费观看| 国产一级精品视频| 久久久久久久久国产精品| 中文字幕一区二区三区手机版| 精品国产网站地址| 国产成年人免费视频| 欧美激情va永久在线播放| 国产精品丝袜黑色高跟鞋| 国产日本欧美一区| 精品一二线国产| 一级日韩一区在线观看| 中文字幕亚洲一区二区av在线| 亚洲精品少妇一区二区| 日本一区二区动态图| 2025韩国大尺度电影| 亚洲欧美偷拍卡通变态| 中文字幕一区二区在线观看视频 | 国产成人三级在线观看视频| 国产精品狼人色视频一区| 欧美视频一二区| 亚洲japanese制服美女| 美国欧美日韩国产在线播放| 日韩一本精品| 国产三级欧美三级| mm131亚洲精品| 精品国产伦一区二区三区免费| 制服丨自拍丨欧美丨动漫丨| 久久精品91久久香蕉加勒比| 国产精品久久久久久久久久久久久久久久久久| 国产成人精品在线视频| 国产制服丝袜一区| 中文精品一区二区三区| 国产亚洲欧美日韩日本| 911福利视频| 日韩欧美黄色影院| 影音先锋亚洲天堂| 91色琪琪电影亚洲精品久久| 国产精选一区二区三区| 国产主播自拍av| 欧美蜜桃一区二区三区| 国产wwwxx| 欧美大片日本大片免费观看| 国产又粗又爽视频| 99久久一区三区四区免费| 久久久久国产精品人| 人妻巨大乳一二三区| 中文字幕av一区| 天天干天天草天天射| 欧美日韩视频在线一区二区观看视频| 中文字幕第一区二区| 丝袜美腿中文字幕| 欧美高清视频在线播放| 日韩va欧美va亚洲va久久| 国产一二三四五| 亚洲一区在线视频| 国产稀缺精品盗摄盗拍| 欧美亚洲国产日本| 国产麻豆91精品| 亚洲黄色av网址| 精品第一国产综合精品aⅴ| 在线观看国产黄| 一区二区三区一级片| 日本大香伊一区二区三区| 天堂网一区二区三区| 99久久精品无码一区二区毛片| 久久综合网色—综合色88| 青青草视频网站| 日本成熟性欧美| 成人av手机在线观看| 九色91porny| 久久影视免费观看| 丰满亚洲少妇av| 亚洲精品无码一区二区| 久久av在线播放| www.亚洲色图.com| 制服丝袜第一页在线观看| 粗暴蹂躏中文一区二区三区| 狠狠色狠狠色合久久伊人| 国产91色在线观看| 久久久亚洲国产| 欧美国产精品v| 久久久www成人免费毛片| 亚洲综合国产精品| 色婷婷综合久久久久中文| 久久人人爽人人爽人人片av免费| 亚洲一区bb| 亚洲欧洲一区二区三区久久| 韩国av一区二区| caopeng视频| 国产综合18久久久久久| 在线播放欧美女士性生活| 好男人www在线视频| 色播五月激情五月| 日韩av电影在线网| 精品国产乱码久久久久久天美| 中文字幕一区二区三区波野结 | 日韩中文欧美在线| 久在线观看视频| 国语对白做受69| 国产精品午夜在线| 精品免费囯产一区二区三区| 日日骚一区二区网站| 日韩高清中文字幕| 久久综合国产精品| 战狼4完整免费观看在线播放版| 久久综合九九| 亚洲人成电影在线播放| 国产日韩三级在线| 国产奶水涨喷在线播放| 黄色www网站| 国产激情999| 欧美日韩精品是欧美日韩精品| 久久激情中文| 成人性生交大片免费看无遮挡aⅴ| 国产乱码精品一区二区三区不卡| 精品国内二区三区| 久久亚洲私人国产精品va媚药| 欧美爱爱免费视频| 麻豆md0077饥渴少妇| 国产婷婷色综合av蜜臀av| 久久婷婷国产综合精品青草| 久久久久久久久久久久久av| 成年人黄色片视频| 国产精品一区二区三区毛片淫片 | 亚洲欧美在线另类| 91片黄在线观看喷潮| 成人在线短视频| 久久综合一区| 亚洲视频欧洲视频| 亚洲线精品一区二区三区八戒| 久久久夜精品| 免费在线一区二区三区| 粉嫩虎白女毛片人体| 97人人模人人爽人人少妇| 精品国产凹凸成av人网站| 国产视频911| 无码人妻精品一区二区三区蜜桃91| 国产成人精品无码播放| 国产在线精品播放| 欧美一级久久久| 国产精品久久久久9999吃药| 污视频在线免费观看| 亚洲色图第四色| 99久久激情视频| 久久综合中文色婷婷| 97视频在线看| 日韩欧美国产1| 波多野结衣欲乱| 日韩免费视频播放| 国产一区二区中文字幕免费看| 一区二区欧美久久| 亚洲福利一区二区三区| 国产麻豆成人传媒免费观看| 一区二区三区黄| 久久精品一区二区免费播放| 东北少妇不带套对白| 国产中文日韩欧美| 日韩精品高清在线观看| 最好看的中文字幕久久| 香蕉视频黄色片| 精品人妻一区二区三区潮喷在线| 网站一区二区三区| 蜜桃av噜噜一区二区三| 欧美伊久线香蕉线新在线| 亚洲老头同性xxxxx| 欧美视频一区二区在线观看| 久久一二三国产| 欧美熟女一区二区| www.com亚洲| 国产黄a三级三级| 黄色a级三级三级三级| 亚洲一区在线免费| 成人做爽爽免费视频| 久久久久久久久久久久久久久久久久av| 欧美性videosxxxxx| 亚洲男人的天堂一区二区| 国产成人免费在线视频| 午夜国产在线观看| 国产乱码精品一区二区三区精东 | 日本高清黄色片| 亚洲高清无码久久| 久久久久免费精品| 成人短视频在线看| 日韩欧美一区二区视频在线播放| 国产精品中文字幕在线观看| 欧美精品做受xxx性少妇| 日韩av在线网站| 欧美一区二区网站| 欧美日韩综合一区| 亚洲综合色自拍一区| 国产精品久久久久久久久免费丝袜| 国产成人精品免费看| 韩国成人在线视频| 不卡视频免费在线观看| 中文字幕日韩第一页| 国产乡下妇女做爰毛片| a天堂中文字幕| 玖玖爱在线观看| 伊人网伊人影院| 欧美大喷水吹潮合集在线观看| 99热成人精品热久久66| 久久人人爽人人爽人人av| 一级日韩一区在线观看| 日韩欧美99| 在线观看亚洲视频啊啊啊啊| 亚洲欧美丝袜| 欧美日韩成人一区二区三区| 九色综合日本| 日韩国产在线一区| 亚洲欧美日韩不卡一区二区三区| 色99中文字幕| 日本在线成人一区二区| 欧美一区二区福利| 久久久久久久久久久一区| 欧美在线日韩精品| 亚洲欧美国产精品桃花| 国产免费裸体视频| 人妻少妇精品无码专区二区| 成年人午夜免费视频| 精品久久久久久中文字幕2017| 五月丁香综合缴情六月小说| 男女av免费观看| xx欧美撒尿嘘撒尿xx| 国产精品91av| av资源在线免费观看| 日韩黄色a级片| 国产亚洲精品码| 正在播放亚洲精品| 免费观看a视频| 精品一区二区三区视频| 99这里只有久久精品视频| 国产精品天美传媒| 欧美性猛交xxxx富婆| 色婷婷国产精品| 精品国产乱子伦一区| 欧美另类高清videos| 2019亚洲男人天堂| av成人综合网| 中文字幕一区二区三区有限公司 | 国产成人小视频| 欧美韩国一区二区| 精品欧美一区二区三区| 欧美一区午夜精品| 社区色欧美激情 | 国产精品免费观看在线| 久久精品国产一区二区三区不卡| 在线观看三级网站| 国产无色aaa| 玖玖爱在线观看| 无码人妻黑人中文字幕| 蜜桃在线一区二区| 99精品欧美一区二区蜜桃免费| 亚洲免费看黄网站| 一本色道久久综合精品竹菊| 亚洲毛片在线看| 26uuu亚洲伊人春色| 精品亚洲欧美日韩| 欧美成人精品欧美一级乱| 欧美图片第一页| 一二区在线观看| 丰满放荡岳乱妇91ww| 亚洲欧洲在线观看av| 欧美精品v国产精品v日韩精品| 久久综合伊人77777蜜臀| 51精品国产人成在线观看| 亚洲电影一二三区| 久久国产激情视频| 精品熟妇无码av免费久久| 国产剧情在线视频| 国内精品国产成人| 亚洲综合丝袜美腿| 亚洲欧洲第一视频| 国产www精品| 丰满女人性猛交| jizz欧美性20| jlzzjlzz亚洲女人18|