成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > JSP 自定義標簽實現(xiàn)數(shù)據(jù)字典的實例

JSP 自定義標簽實現(xiàn)數(shù)據(jù)字典的實例

熱門標簽:海外圖書館地圖標注點 電銷機器人免培訓 自繪地圖標注數(shù)據(jù) 如何看懂地圖標注點 給地圖標注得傭金 外呼系統(tǒng)使用方法 電話機器人需要使用網(wǎng)絡(luò)嗎 南通通訊外呼系統(tǒng)產(chǎn)品介紹 潤滑油銷售電銷機器人

JSP 自定義標簽實現(xiàn)數(shù)據(jù)字典的實例

 1.關(guān)于JSP標簽的好處就不再羅嗦

數(shù)據(jù)字典就是使用的下拉框,只要定義使用那個字典就會將這個字典可用的內(nèi)容顯示出來

顯示字典時只要定義那個字典和屬性值就可以顯示出字典的顯示值 

2.首先在web.xml中定義自定義標簽加載的引用,兩個屬性分別是引用的URI和加載路徑 



?xml version="1.0" encoding="UTF-8"?> 
web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
  welcome-file-list> 
    welcome-file>index.jsp/welcome-file> 
  /welcome-file-list> 
  jsp-config> 
    taglib> 
      taglib-uri>/tld/web-html/taglib-uri> 
      taglib-location> 
        /WEB-INF/tlds/web-html.tld 
      /taglib-location> 
    /taglib> 
  /jsp-config> 
/web-app> 

 3.在web-html.tld中定義自己的標簽,數(shù)據(jù)字典應(yīng)用的話我們需要一個標簽庫,三個標簽。分別是,select標簽,options標簽,和現(xiàn)實數(shù)據(jù)字典的標簽,每個標簽都對應(yīng)不同的實現(xiàn)類

?xml version="1.0" encoding="UTF-8"?> 
!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"  
  "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"> 
taglib> 
  tlib-version>1.0/tlib-version>!-- 標簽庫版本 --> 
  jsp-version>1.2/jsp-version> !-- 標簽庫要求的JSP規(guī)范版本 --> 
  short-name>html/short-name>  !-- JSP頁面編寫工具可以用來創(chuàng)建助記名的可選名字 --> 
  tag> 
    name>select/name> 
    tag-class>com.SelectTag/tag-class> 
    body-content>JSP/body-content> 
    attribute> 
      name>name/name> 
      rtexprvalue>true/rtexprvalue> 
    /attribute> 
    attribute> 
      name>style/name> 
      rtexprvalue>true/rtexprvalue> 
    /attribute> 
  /tag> 
  tag> 
    name>options/name> 
    tag-class>com.OptionsTag/tag-class> 
    body-content>JSP/body-content> 
    attribute> 
      name>collection/name> 
      rtexprvalue>true/rtexprvalue> 
    /attribute> 
  /tag> 
  tag> 
    name>selectDisplay/name> 
    tag-class>com.SelectDisplay/tag-class> 
    body-content>JSP/body-content> 
    attribute> 
      name>collection/name> 
      rtexprvalue>true/rtexprvalue> 
    /attribute> 
    attribute> 
      name>name/name> 
      rtexprvalue>true/rtexprvalue> 
    /attribute> 
    attribute> 
      name>value/name> 
      rtexprvalue>true/rtexprvalue> 
    /attribute> 
  /tag> 
/taglib> 
 
 
 

 4.實現(xiàn)類

實現(xiàn)類的作用就是在后臺拼接所需HTML標簽內(nèi)容,然后由JSP進行輸出

實現(xiàn)類最主要的兩個方法,一個遇到這個標簽開始時輸出,一個是結(jié)束時輸出

如果需要定義屬性,可以參考實現(xiàn)類定義屬性,并在TLD中定義,在JSP中使用標簽時快捷鍵就可以出來這個屬性

首先是select標簽的代碼:

package com; 
import java.io.IOException; 
import javax.servlet.jsp.JspException; 
import javax.servlet.jsp.JspTagException; 
import javax.servlet.jsp.tagext.BodyTagSupport; 
/** 
 * TagSupport與BodyTagSupport的區(qū)別: 
 * 主要看標簽處理類是否要讀取標簽體的內(nèi)容和改變標簽體返回的內(nèi)容,如果不需要就用TagSupport,否則就用BodyTagSupport 
 * 用TagSupport實現(xiàn)的標簽,都可以用BodyTagSupport來實現(xiàn),因為BodyTagSupport繼承了TagSupport 
 */ 
@SuppressWarnings("serial") 
public class SelectTag extends BodyTagSupport { 
  @Override 
  public int doStartTag() throws JspException { 
    try { 
      StringBuffer results = new StringBuffer("select"); 
      if(name != null){ 
        results.append(" name=\""); 
        results.append(name); 
        results.append("\""); 
      } 
      if(style != null){ 
        results.append(" style=\""); 
        results.append(style); 
        results.append("\""); 
      } 
      results.append(">"); 
      pageContext.getOut().write(results.toString()); 
    } catch (IOException ex) { 
      throw new JspTagException("錯誤"); 
    } 
    return EVAL_BODY_INCLUDE; 
  } 
  @Override 
  public int doEndTag() throws JspException { 
    try { 
      StringBuffer results = new StringBuffer(""); 
      // 因為下拉中包含下拉內(nèi)容,所以只能在遇到結(jié)束標簽時才能寫select結(jié)束 
      results.append("/select>");      
      pageContext.getOut().write(results.toString()); 
    } catch (IOException ex) { 
      throw new JspTagException("錯誤"); 
    } 
    return EVAL_PAGE; 
  } 
  // 樣式 
  protected String style; 
  // 名字 
  protected String name; 
  public String getStyle() { 
    return style; 
  } 
  public void setStyle(String style) { 
    this.style = style; 
  } 
  public String getName() { 
    return name; 
  } 
  public void setName(String name) { 
    this.name = name; 
  }   
  /** 
  doStartTag()方法是遇到標簽開始時會呼叫的方法,其合法的返回值是EVAL_BODY_INCLUDE與SKIP_BODY,前者表示將顯示標簽間的文字,后者表示不顯示標簽間的文字 
  doEndTag()方法是在遇到標簽結(jié)束時呼叫的方法,其合法的返回值是EVAL_PAGE與SKIP_PAGE,前者表示處理完標簽后繼續(xù)執(zhí)行以下的JSP網(wǎng)頁,后者是表示不處理接下來的JSP網(wǎng)頁 
  doAfterBody(),這個方法是在顯示完標簽間文字之后呼叫的,其返回值有EVAL_BODY_AGAIN與SKIP_BODY,前者會再顯示一次標簽間的文字,后者則繼續(xù)執(zhí)行標簽處理的下一步 
  EVAL_BODY_INCLUDE:把Body讀入存在的輸出流中,doStartTag()函數(shù)可用 
  EVAL_PAGE:繼續(xù)處理頁面,doEndTag()函數(shù)可用 
  SKIP_BODY:忽略對Body的處理,doStartTag()和doAfterBody()函數(shù)可用 
  SKIP_PAGE:忽略對余下頁面的處理,doEndTag()函數(shù)可用 
  EVAL_BODY_BUFFERED:申請緩沖區(qū),由setBodyContent()函數(shù)得到的BodyContent對象來處理tag的body,如果類實現(xiàn)了BodyTag,那么doStartTag()可用,否則非法 
  EVAL_BODY_AGAIN:請求繼續(xù)處理body,返回自doAfterBody(),這個返回值在你制作循環(huán)tag的時候是很有用的  
  預(yù)定的處理順序是:doStartTag()返回SKIP_BODY,doAfterBodyTag()返回SKIP_BODY,doEndTag()返回EVAL_PAGE 
  如果繼承了TagSupport之后,如果沒有改寫任何的方法,標簽處理的執(zhí)行順序是:doStartTag() ->不顯示文字 ->doEndTag()->執(zhí)行接下來的網(wǎng)頁 
  如果您改寫了doStartTag(),則必須指定返回值, 
  如果指定了EVAL_BODY_INCLUDE,則執(zhí)行順序是:doStartTag()->顯示文字->doAfterBodyTag()->doEndTag()->執(zhí)行下面的網(wǎng)頁 
   */ 
} 

關(guān)于返回參數(shù),返回具體數(shù)字也可以,不用過于糾結(jié)

然后是下拉內(nèi)容實現(xiàn)類

package com; 
import java.io.IOException; 
import javax.servlet.jsp.JspException; 
import javax.servlet.jsp.JspTagException; 
import javax.servlet.jsp.tagext.BodyTagSupport; 
@SuppressWarnings("serial") 
public class OptionsTag extends BodyTagSupport { 
  @Override 
  public int doStartTag() throws JspException { 
    return EVAL_BODY_INCLUDE; 
  } 
  @Override 
  public int doEndTag() throws JspException { 
    try { 
      StringBuffer results = new StringBuffer(""); 
      if ("SEX".equals(collection)) { 
        results.append("option value=\"0\" selected=\"selected\">請選擇/option>"); 
        results.append("option value=\"1\">男/option>"); 
        results.append("option value=\"2\">女/option>"); 
      } 
      pageContext.getOut().write(results.toString()); 
    } catch (IOException ex) { 
      throw new JspTagException("錯誤"); 
    } 
    return EVAL_PAGE; 
  } 
  // collection只是傳遞一個標識,具體下拉值內(nèi)容是從數(shù)據(jù)庫取還是從請求中得到為不同具體實現(xiàn) 
  protected String collection; 
  public String getCollection() { 
    return collection; 
  } 
  public void setCollection(String collection) { 
    this.collection = collection; 
  } 
} 

 具體你的字典數(shù)據(jù)從數(shù)據(jù)庫中如何存儲如何查詢,可以自定義實現(xiàn)

顯示的標簽實現(xiàn),為了將來可以在頁面取到標簽內(nèi)容值,我們定義隱藏域來保存屬性值,然后在顯示顯示內(nèi)容


package com; 
import java.io.IOException; 
import javax.servlet.jsp.JspException; 
import javax.servlet.jsp.JspTagException; 
import javax.servlet.jsp.tagext.BodyTagSupport; 
@SuppressWarnings("serial") 
public class SelectDisplay extends BodyTagSupport { 
  @Override 
  public int doStartTag() throws JspException { 
    try { 
      StringBuffer results = new StringBuffer(""); 
      pageContext.getOut().write(results.toString()); 
    } catch (IOException ex) { 
      throw new JspTagException("錯誤"); 
    } 
    return EVAL_BODY_INCLUDE; 
  } 
  @Override 
  public int doEndTag() throws JspException { 
    try { 
      StringBuffer results = new StringBuffer(""); 
      if ("SEX".equals(collection)) { 
        results.append("span>"); 
        results.append("input type=\""); 
        results.append("hidden\" name=\""); 
        results.append(getName()); 
        results.append("\""); 
        results.append(" value=\""); 
        results.append(getValue()); 
        results.append("\">");         
        if ("1".equals(getValue())) { 
          results.append("男"); 
        } else if ("2".equals(getValue())) { 
          results.append("女"); 
        } else { 
          results.append("請選擇"); 
        } 
        results.append("/span>"); 
      } 
      pageContext.getOut().write(results.toString()); 
    } catch (IOException ex) { 
      throw new JspTagException("錯誤"); 
    } 
    return EVAL_PAGE; 
  } 
  // collection只是傳遞一個標識,具體下拉值內(nèi)容是從數(shù)據(jù)庫取還是從請求中得到為不同具體實現(xiàn) 
  protected String collection; 
  // 傳遞的值 
  protected String value; 
  // 該屬性的名稱 
  protected String name; 
  public String getCollection() { 
    return collection; 
  } 
  public void setCollection(String collection) { 
    this.collection = collection; 
  } 
  public String getName() { 
    return name; 
  } 
  public void setName(String name) { 
    this.name = name; 
  } 
  public String getValue() { 
    return value; 
  } 
  public void setValue(String value) { 
    this.value = value; 
  } 
} 
 
 
 

5.JSP中引用,直接在index.jsp中引用

需要引入相應(yīng)的標簽內(nèi)容,引入的方式在JSP頭部引用

標簽的屬性可以設(shè)置也可以不設(shè)置,標簽的使用和HTML標簽的使用是一樣的,定義屬性即可

%@ page language="java" pageEncoding="UTF-8"%> 
%@ taglib uri="/tld/web-html" prefix="html"%> 
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
html> 
  head> 
    title>JSP 自定義標簽的實現(xiàn)/title> 
  /head> 
  body> 
    請選擇: 
    html:select name="sex" style="width:100px"> 
      html:options collection="SEX">/html:options> 
    /html:select> 
    顯示性別: 
    html:selectDisplay collection="SEX" value="1" name="sex">/html:selectDisplay>    
  /body> 
/html> 
 

 6.后話

訪問項目就可以看到效果,附件是這個項目的源代碼,導入到MyEclipse中可以查看

如果想要自己設(shè)計一個大的標簽庫,可以設(shè)計一個父類,包含一些主要的屬性,例如name,id,style等屬性。然后在子類中定義自己的特有屬性

這個實現(xiàn)只是學習一下JSP自定義標簽使用的HelloWorld程序,然后包含了字典應(yīng)用的實際例子,程序簡單,僅供參考

 如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

您可能感興趣的文章:
  • SpringMVC 向jsp頁面?zhèn)鬟f數(shù)據(jù)庫讀取到的值方法
  • jsp實現(xiàn)textarea中的文字保存換行空格存到數(shù)據(jù)庫的方法
  • jsp 使用request為頁面添加靜態(tài)數(shù)據(jù)的實例
  • Struts2.5 利用Ajax將json數(shù)據(jù)傳值到JSP的實例
  • 讀取數(shù)據(jù)庫的數(shù)據(jù)并整合成3D餅圖在jsp中顯示詳解
  • springMVC如何將controller中數(shù)據(jù)傳遞到j(luò)sp頁面
  • jsp中EL表達式獲取數(shù)據(jù)
  • JSP數(shù)據(jù)交互實現(xiàn)過程解析

標簽:南京 銅川 樂山 大連 廣州 黃石 內(nèi)江 貸款邀約

巨人網(wǎng)絡(luò)通訊聲明:本文標題《JSP 自定義標簽實現(xiàn)數(shù)據(jù)字典的實例》,本文關(guān)鍵詞  JSP,自定義,標簽,實現(xiàn),數(shù)據(jù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《JSP 自定義標簽實現(xiàn)數(shù)據(jù)字典的實例》相關(guān)的同類信息!
  • 本頁收集關(guān)于JSP 自定義標簽實現(xiàn)數(shù)據(jù)字典的實例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美日韩精品区| 在线免费观看www| 国产精品久久久久影院| 久久99精品久久久久久久青青日本| 在线成人精品视频| 天天综合日日夜夜精品| 国产aaa免费视频| 欧美综合在线观看视频| 精品久久久久久久久久国产| 日韩电影在线观看永久视频免费网站| 亚洲精品极品| 中文字幕高清在线| 色综合久久网女同蕾丝边| 成人黄色理论片| 亚洲欧洲精品一区二区三区波多野1战4| 一区二区三区视频免费在线观看| japan乱配videos老少配| 亚洲一二区视频| 亚洲精品综合精品自拍| 亚洲黄色小视频在线观看| 19j韩国主播韩宝贝在线| 亚洲国产成人精品视频| 视频一区二区免费| 精品国产一区二区三区在线观看| 一级黄色片在线播放| 欧美三片在线视频观看| 免费h视频网站| 97久久久精品综合88久久| 亚洲一级视频在线观看| 伊人电影在线观看| 一区二区国产精品视频| 亚洲激情国产| 免费在线a视频| 欧美做受xxxxxⅹ性视频| 国产欧美日韩视频| 日韩理论片中文av| 亚洲精品乱码久久久久久不卡| 久草在线成人| 国产精品一级片在线观看| 日本调教视频在线观看| 成人影院在线看| 中文字幕一区二区在线观看| 亚洲精品网站在线| 欧美精品一区二区三区涩爱蜜| 91精品国产综合久久精品| 制服丝袜亚洲精品中文字幕| 精品无码国产一区二区三区51安| 少妇特黄一区二区三区| 亚洲私人黄色宅男| 五月天婷亚洲天综合网鲁鲁鲁| 精品99999| 精品女厕一区二区三区| huan性巨大欧美| 欧美肥老妇视频| 久久一区二区三区av| 美女毛片免费看| 久久久久久久久久久9不雅视频| 秋霞欧美一区二区三区视频免费| 成人啪啪18免费游戏链接| 神马影视一区二区| 久久久久久久久成人| 亚洲三级av在线| 成人一区而且| 一区二区国产盗摄色噜噜| 一本到在线视频| 国产精品毛片高清在线完整版| 日韩电影在线观看完整免费观看| 欧美aaaaa成人免费观看视频| 欧美69精品久久久久久不卡| 夜夜嗨av禁果av粉嫩avhd| 欧美一级特黄a| 影音先锋黄色资源| 青青青国内视频在线观看软件| 日韩在线成人| 91精品91久久久中77777老牛| 精品国偷自产在线视频99| 精品中文字幕一区二区小辣椒| 日av在线播放中文不卡| 国产欧美久久久| 精品国产乱子伦一区二区| 亚洲成人短视频| 亚洲欧洲一二三| 热国产热中文视频二区| 国内免费精品视频| 激情亚洲影院在线观看| 婷婷综合社区| 97人人做人人爽香蕉精品| 在线综合+亚洲+欧美中文字幕| 欧美日韩亚洲综合| 亚洲毛片在线观看.| 国产91在线播放精品| 国产精品a成v人在线播放| 亚洲精品视频在线看| 国产夫妻视频| 色撸撸在线视频| 国产高清不卡一区二区| 性囗交免费视频观看| 在线亚洲免费视频| 九九九九九精品| 中文字幕日韩高清在线| 麻豆精品蜜桃视频网站| 久久久99精品视频| 在线看国产一区二区| 91视频福利| 久久影院理伦片| 国产成人免费视频网站| 国产亚洲一区精品| 欧美日本精品一区二区三区| 欧美韩日一区二区三区| 少妇极品熟妇人妻无码| 国产真实乱偷精品视频| 成人频在线观看| 制服.丝袜.亚洲.中文.综合| 精品国产1区二区| 欧美xxxx做受欧美88bbw| 日韩欧美视频| 天堂精品在线视频| 欧美日韩精品在线| 91蜜桃臀久久一区二区| 亚洲福利视频网站| 国产香蕉在线| 亚洲男女性事视频| 日韩电影一区二区三区| 亚洲a在线视频| 日韩电影中文 亚洲精品乱码| 91啪九色porn原创视频在线观看| 国产91在线播放九色快色| 天堂中文在线播放| 嫩草嫩草嫩草| 亚洲自拍另类欧美丝袜| koreanbj精品视频一区| 香蕉亚洲视频| 免费萌白酱国产一区二区三区| 精品三级av在线| av动漫一区二区| 久久九九久精品国产免费直播| 色诱女教师一区二区三区| 51精产品一区一区三区| 手机视频在线观看| 国产sm调教视频| 中文字幕久久久| 黄色网址在线播放| 久久久久久亚洲av无码专区| 国产在线一二区| 国产8mav视频| 国产成人免费观看| 欧美一区视久久| 婷婷综合久久| 国产成人无码一二三区视频| 欧美亚洲第一区| 欧美色图婷婷| 久久国产加勒比精品无码| 8mav模特福利视频在线观看| 欧美电影网址| 99re热这里只有精品免费视频| 亚洲激情网站| 亚洲激情第一区| 国产成人香蕉在线视频网站| 九九精品九九| 亚洲另类在线一区| 黄色资源在线看| 亚洲视屏一区| 免费裸体视频网站| 亚洲狠狠爱一区二区三区| 成人精品久久久| 国产精品23p| 国产日韩欧美一区在线| 中文字幕有码无码人妻av蜜桃| 久久综合给合| 在线观看国产一区二区三区| 日本超碰一区二区| 日韩aaaaaa| 国产美女明星三级做爰| 影音先锋中文在线播放| 国产精品一区免费观看| 国产精品黄色网| 亚洲国产精品va在线看黑人动漫| 欧美一二三视频| 91久久国产精品91久久性色| 久久精品在线免费视频| 欧美国产一区二区三区| 51精产品一区一区三区| 少妇搡bbbb搡bbb搡打电话| av女优在线| 黄网站免费久久| 好吊妞无缓冲视频观看| 欧美一区二区成人| 成人乱码一区二区三区| 国产成人精品视频免费| 国产女同一区二区| 刘亦菲久久免费一区二区| 香蕉视频国产精品| 中文字幕视频在线| 日本欧美www| 先锋a资源在线看亚洲| 亚洲精品欧美精品| 黄动漫视频高清在线| 精品日韩一区| 99久久婷婷国产综合精品电影√| 99综合视频| 国产经典中年夫妇盗摄| 蜜桃视频一区二区三区在线观看| 国产精品亚洲综合久久| 国产日韩欧美麻豆| 91麻豆免费视频网站| 亚洲第一在线综合网站| 舔足天天操天天射| 亚洲成在人线免费观看| 日韩一区二区中文字幕| 久久女同性恋中文字幕| 美女的奶胸大爽爽大片| 欧美日韩精品综合| 久久99久久亚洲国产| 国产精品久久久久久免费| 日韩视频精品| 久久69精品久久久久久国产越南| 国产日本欧洲亚洲| 久久99久国产精品黄毛片入口| 色综合久久久久综合体桃花网| 亚洲最大av| 成人资源在线播放| 青青青国内视频在线观看软件| 男人天堂亚洲| 97在线观看免费视频| 亚洲一区电影在线观看| 91精彩视频在线播放| 少妇性饥渴无码a区免费| 日韩电影中文字幕av| 精品人妻一区二区三区潮喷在线| 日韩人妻无码精品久久久不卡| 日本不卡三区| av伊人久久| 日韩经典第一页| 男人天堂2020| 石原莉奈一区二区三区在线观看| www.在线观看av| 国产乱一区二区| 少妇高潮一区二区三区| 手机免费av片| 米奇777四色精品人人爽| 免费萌白酱国产一区二区三区| 国产999在线| 人禽交欧美网站免费| 欧美肥臀大乳一区二区免费视频| 中文字幕91爱爱| 性欧美video另类hd3| 国产一二区在线观看| xnxx国产精品| 日本一级黄色录像| 久久久精品中文字幕麻豆发布| 黄色三级电影网站| 国产乱人伦精品一区二区在线观看| 国产小视频在线观看| 婷婷亚洲最大| 色婷婷久久综合中文久久蜜桃av| 狠狠噜天天噜日日噜| 欧美电影在线免费观看| 亚洲一区电影在线观看| 国产精品国产成人国产三级| 成人黄色图片网站| 一区二区三区久久| 国内精彩免费自拍视频在线观看网址| www在线观看黄色| 毛片在线视频观看| 台湾佬美性中文| 欧美激情精品久久久久久变态| 免费操人视频| 99久久这里有精品| 免费成年网站| 顶级黑人搡bbw搡bbbb搡| 九一国产精品视频| 亚洲一卡2卡三卡4卡2021四卡| 99re在线精品| 一呦二呦三呦精品国产| 国产精品美女视频| 99视频这里有精品| 欧美一级免费大片| 国产精品麻豆网站| 国内精品伊人久久| 黄色香蕉视频在线观看| 亚洲精品美女在线观看| 欧美日韩有码| 97久久精品人搡人人玩| 精品免费国产一区二区三区四区| 精品亚洲成人| 国产精品一区二区三区四区在线观看| xx免费视频| 久久资源免费视频| 在线综合欧美| 中文字幕不卡在线播放| 国产精品午夜av| 久久蜜桃精品| 黑人极品ⅴideos精品欧美棵| 色94色欧美sute亚洲线路二| 国产男人精品视频| 日韩dvd碟片| 欧美亚洲一区二区在线观看| 婷婷免费在线视频| 老汉av免费一区二区三区| 亚洲欧洲一区二区三区久久| 亚洲视频三区| 91在线视频播放地址| 在线观看xxxxvideo| 91在线视频免费播放| 国产精品扒开腿做爽爽爽视频软件| 老司机福利在线视频| 天天爱天天干天天操| 欧美日韩国产在线播放| 欧美日韩怡红院| 一区二区伦理片| 中文字幕精品国产| 在线免费观看麻豆| 成熟了的熟妇毛茸茸| 国产高潮国产高潮久久久91| 少妇精品高潮欲妇又嫩中文字幕| 日本 国产 欧美色综合| 妞干网这里只有精品| 亚洲柠檬福利资源导航| 亚洲第一福利网站| 91在线高清观看| 成人在线观看免费| 国产成人福利在线| 日本影音先锋电影| 香蕉视频在线观看www| 国产精品国产亚洲伊人久久| 日本黄色免费网站| 国产精品自拍网| 中文字幕乱码无码人妻系列蜜桃|