日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

jsp EL表達(dá)式詳解

瀏覽:479日期:2022-06-08 08:55:27
目錄
  • 一、EL表達(dá)式介紹
    • 語法格式
  • 二、EL獲取數(shù)據(jù)(從四大域中獲取屬性)
    • 三、EL中的內(nèi)置對象
      • 1、域?qū)傩韵嚓P(guān)(4個(gè))
      • 2、其他重要內(nèi)置對象(4個(gè))
        • 1、pageContext
        • 2、param(獲取請求中的指定參數(shù))
        • 3、paramValues
        • 4、initParam
    • 四、EL訪問Bean的屬性
      • 1、什么是java Bean
        • 2、EL訪問Bean屬性
        • 五、EL訪問數(shù)組中的數(shù)據(jù)
          • 六、EL獲取list中數(shù)據(jù)
            • 七、EL訪問Map
              • 八、EL中的運(yùn)算符(empty)
                • 1、先說說幾個(gè)常用運(yùn)算符
                  • 2、empty運(yùn)算符
                  • 九、自定義EL函數(shù)
                    • 十、EL總結(jié)

                      一、EL表達(dá)式介紹

                      • Expression Language表達(dá)式語言
                      • 是一種在JSP頁面獲取數(shù)據(jù)的簡單方式(只能獲取數(shù)據(jù),不能設(shè)置數(shù)據(jù))
                      • 在JSP2.0開始引入概念

                      語法格式

                      在JSP頁面的任何靜態(tài)部分均可通過:${expression}來獲取到指定表達(dá)式的值

                      二、EL獲取數(shù)據(jù)(從四大域中獲取屬性)
                      EL只能從四大域中獲取屬性
                      1、如果沒有使用EL的內(nèi)置對象,則查找數(shù)據(jù)順序是依次按照由小到大范圍從四大域中查找指定名稱的屬性值

                      二、EL獲取數(shù)據(jù)(從四大域中獲取屬性)

                      EL只能從四大域中獲取屬性

                      1、如果沒有使用EL的內(nèi)置對象,則查找數(shù)據(jù)順序是依次按照由小到大范圍從四大域中查找指定名稱的屬性值

                      - pageContext<request<session<application  <%@ page language="java" contentType="text/html; charset=UTF-8"   pageEncoding="UTF-8"%>  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  <html>  <head>  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  <title>Insert title here</title>  </head>  <body>   <%    pageContext.setAttribute("name", "linjie");    request.setAttribute("name", "lucy");    session.setAttribute("name", "king");    application.setAttribute("name", "bilibili");   %>   name=${name }  </body>  </html>

                      可以看出沒有使用EL內(nèi)置對象時(shí)查找順序是由小到大,所以最先顯示的是pageContext域中的

                      2、使用EL內(nèi)置對象,從指定域中獲取數(shù)據(jù),提高了查找效率

                      <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> <%  pageContext.setAttribute("name", "linjie");  request.setAttribute("name", "lucy");  session.setAttribute("name", "king");  application.setAttribute("name", "bilibili"); %> name=${applicationScope.name }</body></html>

                      可以看出,使用applicationScope即可指定application域中的name輸出,當(dāng)然其他域也是類似,下文會(huì)說這四大域?qū)傩韵嚓P(guān)的內(nèi)置對象

                      三、EL中的內(nèi)置對象

                      EL有11個(gè)內(nèi)置對象,這里主要講域?qū)傩韵嚓P(guān)的4個(gè)和其他4個(gè)
                      EL的11個(gè)內(nèi)置對象,除了pageContext以外,其他10個(gè)內(nèi)置對象的類型都是java.util.Map類型

                      1、域?qū)傩韵嚓P(guān)(4個(gè))

                      • pageScope:從page范圍域?qū)傩钥臻g中查找指定的key
                      • requestScope:從request范圍域?qū)傩钥臻g中查找指定的key
                      • sessionScope:從session范圍域?qū)傩钥臻g中查找指定的key
                      • applicationScope:從application范圍域?qū)傩钥臻g中查找指定的key
                      <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> <%  pageContext.setAttribute("name", "linjie");  request.setAttribute("name", "lucy");  session.setAttribute("name", "king");  application.setAttribute("name", "bilibili"); %> name=${applicationScope.name }<br> name=${pageScope.name }<br> name=${sessionScope.name }<br> name=${requestScope.name }<br></body></html>

                      2、其他重要內(nèi)置對象(4個(gè))

                      1、pageContext

                      該pageContext與JSP內(nèi)置對象pageContext是同一個(gè)對象。通過該對象,可以獲取到request、response、session、servletContext、servletConfig等對象注意:這些對象在EL里不是內(nèi)置對象,這些對象只能通過pageContext獲取

                      在EL中直接${pageContext.request}即可獲取request對象,其底層調(diào)用的是pageContext.getRequest()方法。同理,也可以通過類似方法獲取其他對象

                      重點(diǎn):其中最常用的:${pageContext.request.contextPath },代表web應(yīng)用下的根,可以看出下面action中的路徑可讀性更強(qiáng)了

                      Regster.java

                      package linjie.com;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Regster extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  response.getWriter().append("Served at: ").append(request.getContextPath()); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  doGet(request, response); }}

                      index.jsp

                      <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><%-- ${pageContext.request.contextPath }代表web應(yīng)用的根 --%> <form action="${pageContext.request.contextPath }/regster" method="POST">  xxx<input type="text" name="name"/><br>  yyy<input type="text" name="age"/><br>  <input type="submit" value="點(diǎn)擊"> </form></body></html>

                      2、param(獲取請求中的指定參數(shù))

                      其底層實(shí)際調(diào)用request.getParameter()

                      index.jsp

                      <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><%-- ${pageContext.request.contextPath }代表web應(yīng)用的根 --%> <form action="${pageContext.request.contextPath }/show.jsp" method="POST">  xxx<input type="text" name="name"/><br>  yyy<input type="text" name="age"/><br>  <input type="submit" value="點(diǎn)擊"> </form></body></html>

                      show.jsp

                      <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> name=${param.name }<br> age=${param.age }<br></body></html>

                      客戶瀏覽器訪問結(jié)果

                      3、paramValues

                      獲取請求中的指定參數(shù)的所以值,其底層實(shí)際調(diào)用request.getParameterValues()

                      index.jsp

                      <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><%-- ${pageContext.request.contextPath }代表web應(yīng)用的根 --%> <form action="${pageContext.request.contextPath }/show.jsp" method="POST">  xxx<input type="text" name="name"/><br>  yyy<input type="text" name="age"/><br>  愛好:  <input type="checkbox" name="hobby" value="sleep">睡覺  <input type="checkbox" name="hobby" value="play">玩  <input type="checkbox" name="hobby" value="eat">吃  <input type="submit" value="點(diǎn)擊"> </form></body></html>

                      show.jsp

                      <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> name=${param.name }<br> age=${param.age }<br> hobby[0]=${paramValues.hobby[0] }<br> hobby[1]=${paramValues.hobby[1] }<br></body></html>

                      客戶瀏覽器顯示結(jié)果

                      4、initParam

                      獲取初始化參數(shù),其底層調(diào)用的是ServletContext.getInitParameter()

                      web.xml

                      <?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>07eltttt</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list><!--初始化參數(shù) --> <context-param> <param-name>name</param-name> <param-value>林杰</param-value> </context-param> <servlet> <display-name>Regster</display-name> <servlet-name>Regster</servlet-name> <servlet-class>linjie.com.Regster</servlet-class> </servlet> <servlet-mapping> <servlet-name>Regster</servlet-name> <url-pattern>/regster</url-pattern> </servlet-mapping></web-app>

                      index.jsp

                      <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> name=${initParam.name }</body></html>

                      客戶瀏覽器顯示結(jié)果

                      四、EL訪問Bean的屬性

                      1、什么是java Bean

                      JavaBean是公共Java類,但是為了編輯工具識(shí)別

                      需要滿足至少三個(gè)條件

                      • 有一個(gè)public默認(rèn)構(gòu)造器(例如無參構(gòu)造器)
                      • 屬性使用public 的get,set方法訪問,也就是說設(shè)置成private同時(shí)get,set方法與屬性名的大小也需要對應(yīng)。例如屬性name,get方法就要寫成,public String getName(){},N大寫。
                      • 需要序列化。這個(gè)是框架,工具跨平臺(tái)反映狀態(tài)必須的

                      2、EL訪問Bean屬性

                      EL可以通過${key.屬性}的方式獲取到指定值,其底層實(shí)際調(diào)用的是該對象的相應(yīng)屬性的get方法

                      Demo.java

                      package linjie.com;/* *Bean  */public class Demo { private String name; private int age; public Demo(String name,int age){  this.name=name;  this.age=age; } public String getName() {  return name; } public void setName(String name) {  this.name = name; } public int getAge() {  return age; } public void setAge(int age) {  this.age = age; } @Override public String toString() {  return super.toString(); }}

                      index.jsp

                      <%@ page language="java" contentType="text/html; charset=UTF-8" import="linjie.com.Demo" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> <%  Demo test=new Demo("linjie",12);  request.setAttribute("ELttt", test); %> name=${requestScope.ELttt.name }<br> age=${requestScope.ELttt.age }<br> <!-- 若訪問為null的對象的屬性,EL是不會(huì)拋出空指針異常的,只是不顯示而已 --> names=${requestScope.ELtttxx.name }<br></body></html>

                      客戶瀏覽器顯示結(jié)果

                      五、EL訪問數(shù)組中的數(shù)據(jù)

                      <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head>  <body> <%  String[] names={"xlj","lucy","king"};  pageContext.setAttribute("names", names); %> name[1]=${names[1] }<br> <!-- 若訪問的數(shù)組元素下標(biāo)超出了數(shù)組下標(biāo)上限,EL不會(huì)拋出越界異常,只是不顯示 --> names[5]=${names[5] }<br></body></html>

                      下面是訪問類的數(shù)組

                      Stu.java

                      package linjie.com;/* *Bean  */public class Stu { private String sname; private String address; public Stu() {  super(); } public Stu(String sname, String address) {  super();  this.sname = sname;  this.address = address; } public String getSname() {  return sname; } public void setSname(String sname) {  this.sname = sname; } public String getAddress() {  return address; } public void setAddress(String address) {  this.address = address; } @Override public String toString() {  return super.toString(); }}

                      index.jsp

                      <%@ page language="java" contentType="text/html; charset=UTF-8" import="linjie.com.*" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> <%  Stu[] stus=new Stu[3];  stus[0]=new Stu("xlj","A");  stus[1]=new Stu("lucy","B");  stus[2]=new Stu("kingA","C");  pageContext.setAttribute("stus",stus); %> stus[1].Sname=${stus[1].sname }</body></html>

                      客戶瀏覽器顯示結(jié)果

                      六、EL獲取list中數(shù)據(jù)

                      <%@page import="java.util.*"%><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> <%  List<String> names=new ArrayList<String>();  names.add("xlj");  names.add("lucy");  pageContext.setAttribute("names", names); %> <!-- 因?yàn)長ist底層是數(shù)組,所以可以這樣寫 --> names[1]=${names[1] }<br></body></html>

                      客戶瀏覽器顯示結(jié)果

                      注意:

                      EL可以通過索引訪問List,但無法訪問Set。因?yàn)镾et中沒有索引概念

                      七、EL訪問Map

                      <%@page import="java.util.*"%><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> <%  Map<String,Object> map=new HashMap<String,Object>();  map.put("age", 20);  map.put("name", "xlj");  pageContext.setAttribute("map", map); %> name=${map.name }<br> age=${map.age }<br></body></html>

                      客戶瀏覽器顯示結(jié)果

                      八、EL中的運(yùn)算符(empty)

                      1、先說說幾個(gè)常用運(yùn)算符

                      • 算術(shù)運(yùn)算符:+、-、*、/、%(不支持++、–)
                      • 關(guān)系運(yùn)算符:==、!=、>、>=、<、<=
                      • 邏輯運(yùn)算符:!、&&、||、not、and、or
                      • 條件運(yùn)算符:?:
                      • 取值運(yùn)算符:[]、點(diǎn)號

                      2、empty運(yùn)算符

                      用法為${empty 變量},結(jié)果為布爾值

                      <%@page import="java.util.*"%><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> <%  String name1=null;  String name2="";  List<String> name3=new ArrayList<String>();  pageContext.setAttribute("name1", name1);  pageContext.setAttribute("name2", name2);  pageContext.setAttribute("name3", name3); %> empty對于沒有定義的變量,運(yùn)算結(jié)果為true: empty namex=${empty namex }<br> empty對于null的引用,運(yùn)算結(jié)果為true: empty name1=${empty name1 }<br> empty對于為空串的String引用,運(yùn)算結(jié)果為true: empty name2=${empty name2 }<br> empty對于沒有元素的數(shù)組或集合,運(yùn)算結(jié)果為true: empty name3=${empty name3 }<br></body></html>

                      客戶瀏覽器顯示結(jié)果

                      九、自定義EL函數(shù)

                      因?yàn)镋L本身不具有處理字符串能力,所以可以自定義EL函數(shù)
                      - 定義函數(shù)(新建MyEL.java類)
                      - 注冊:先找到j(luò)sp2-example-taglib.tld,將頭部以及注冊函數(shù)復(fù)制到自己創(chuàng)建的.tld文件中(.tld放在WEB-INF下)
                      - 在index.jsp中使用,使用時(shí)需要<%@ taglib uri=”http://tomcat.apache.org/jsp2-example-taglib” prefix=”MyEL” %>

                      1、定義函數(shù)MyEL.java

                      package linjie.com;//自定義函數(shù)//該類及其函數(shù),需要在擴(kuò)展名為.tld的xml文件中注冊//tld:tag library definition(標(biāo)簽庫定義)//xml文件是需要約束的,即需要配置文件頭部。這個(gè)頭部約束可以從一下文件中進(jìn)行復(fù)制//在Tomcat安裝目錄下:webapps\examples\WEB-INF\jsp2//文件為:jsp2-example-taglib.tld//這個(gè).tld的xml文件,需要定義在當(dāng)前web項(xiàng)目的WEB-INF目錄下,在此目錄下創(chuàng)建以.tld結(jié)尾的xml文件//將jsp2-example-taglib.tld中頭部復(fù)制到創(chuàng)建的xml文件中//再將函數(shù)注冊,還是在jsp2-example-taglib.tld底部中復(fù)制public class MyEL { private static MyEL instance; public static MyEL getInstance() {  if(instance==null)  {   instance=new MyEL();  }  return instance; } //字符串小寫變大寫 public static String LowerToUpper(String str) {  return str.toUpperCase(); }}

                      2、將jsp2-example-taglib.tld中頭部部分以及底部的注冊函數(shù)部分復(fù)制到自己創(chuàng)建的tld(在WEB-INF下)文件中

                      MyEL.tld

                      <?xml version="1.0" encoding="UTF-8"?><taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" version="2.0"> <!-- 定義標(biāo)簽庫信息 --> <description>A tag library exercising SimpleTag handlers.</description> <tlib-version>1.0</tlib-version> <short-name>MyEL</short-name><!-- 標(biāo)簽庫名稱,一般定義成和文件名一樣 --> <uri>http://tomcat.apache.org/jsp2-example-taglib</uri> <!-- 注冊函數(shù) -->  <function>  <name>MyLowerToUpper</name>  <function-class>linjie.com.MyEL</function-class><!-- 方法得類 -->  <function-signature>java.lang.String LowerToUpper( java.lang.String )</function-signature><!-- 方法簽名 :需要返回值以及方法名、參數(shù)--> </function></taglib>

                      3、在index.jsp中使用,使用時(shí)需要<%@ taglib uri=”http://tomcat.apache.org/jsp2-example-taglib” prefix=”MyEL” %>

                      <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib uri="http://tomcat.apache.org/jsp2-example-taglib" prefix="MyEL" %><!-- tld中的uri和short-name --><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> <!-- 這個(gè)方法名是在tld注冊時(shí)的name --> ${MyEL:MyLowerToUpper("sasas") }<br> <!-- EL函數(shù)只能處理四大域中的屬性值及String常量 --> <%  String name="xlj";  pageContext.setAttribute("name", name); %> ${MyEL:MyLowerToUpper(name) }<br></body></html>

                      客戶瀏覽器顯示結(jié)果

                      十、EL總結(jié)

                      • EL表達(dá)式不能出現(xiàn)在Java代碼塊、表達(dá)式塊等JSP動(dòng)態(tài)代碼部分
                      • EL只能從四大域?qū)傩钥臻g中獲取數(shù)據(jù)(pageContext、request、session、application)
                      • EL不會(huì)拋出空指針異常,只會(huì)不顯示
                      • EL不會(huì)拋出數(shù)組越界異常,只會(huì)不顯示
                      • EL不具有對字符串進(jìn)行處理的能力(可以使用JSTL的EL或者自定義EL函數(shù))

                      到此這篇關(guān)于jsp EL表達(dá)式詳解的文章就介紹到這了,更多相關(guān)jsp EL表達(dá)式內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

                      標(biāo)簽: JSP
                      相關(guān)文章:
                      日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
                      亚洲一级二级| 久久激情一区| 影音国产精品| 精品一区免费| 亚洲v在线看| 久久久久国产精品一区三寸| 午夜av成人| 久久亚洲成人| 亚洲激情二区| 日韩在线观看| 久久要要av| 91精品成人| 视频一区在线视频| 深夜福利亚洲| 日本少妇一区| 日韩av不卡在线观看| 日韩成人在线看| 国产图片一区| 国产午夜久久av| 国产成人精品999在线观看| 午夜影院一区| 精品视频自拍| 亚洲一级少妇| 99视频精品| 日韩三级久久| 麻豆精品99| 蜜桃av.网站在线观看| 午夜国产精品视频免费体验区| 久久亚洲影院| 日韩成人精品一区二区三区| 国产精品115| 久久久久国产精品一区二区| 一区二区国产在线| 久久久久黄色| 亚洲午夜黄色| 亚洲人妖在线| 精品一区二区三区亚洲| 久久久精品日韩| 久久国产三级| 久久青草久久| 婷婷综合成人| 免费日韩一区二区三区| 久久国产亚洲精品| 亚洲精品伊人| 国产欧美日韩精品高清二区综合区| 国产精品综合色区在线观看| 免费一二一二在线视频| 亚洲精品一区二区在线播放∴| 久久97视频| 香蕉成人久久| 亚洲深夜福利在线观看| 精品久久久久中文字幕小说| 黄色亚洲大片免费在线观看| 国产精品一区二区av日韩在线| 91看片一区| 青青草视频一区| 久久三级福利| 国产亚洲高清一区| 尤物在线精品| 久久影院资源站| 亚洲综合电影一区二区三区| 精品日韩一区| 亚洲一级淫片| 日韩精品影视| 国产高清亚洲| 天堂av在线一区| 在线中文字幕播放| 日本一区二区三区中文字幕| 久久91导航| 国产精品日本一区二区不卡视频| 尹人成人综合网| 天堂√8在线中文| 国产精品男女| 三级欧美在线一区| 精品久久精品| 国产在线一区不卡| 欧美精品高清| 欧美日一区二区三区在线观看国产免| 久久国产精品成人免费观看的软件| 久久国产日韩欧美精品| 日韩中文字幕91| 日本精品不卡| 国产精品3区| 日韩精品视频网站| 亚洲综合国产| 久久在线电影| 麻豆成全视频免费观看在线看| 日韩av二区在线播放| 亚洲欧美日本视频在线观看| 人人精品亚洲| 久久精品色播| 欧美天堂在线| 蜜桃91丨九色丨蝌蚪91桃色| 久久国产欧美| 国产在线观看www| 麻豆精品久久| 欧美日本不卡高清| 亚洲精品影视| 蜜桃伊人久久| 久久大逼视频| 亚洲美洲欧洲综合国产一区| 久久美女精品| 日韩成人亚洲| 欧美成人精品三级网站| 四虎8848精品成人免费网站| 国产午夜久久av| 欧美私人啪啪vps| 97久久超碰| 日韩高清一区二区| 亚洲1区在线| 亚洲精品系列| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲欧美激情诱惑| 国产亚洲激情| 鲁大师成人一区二区三区| 日韩视频精品在线观看| 激情婷婷综合| 日韩视频二区| 久久国产精品久久久久久电车| 欧美成人午夜| 日韩精品网站| 亚洲精品va| 水蜜桃久久夜色精品一区的特点| 免费日韩av片| 日本中文字幕视频一区| 欧美一区精品| 国产精品亚洲片在线播放| 国产极品久久久久久久久波多结野| 免费日韩成人| 日韩国产欧美一区二区| 亲子伦视频一区二区三区| 久久国产直播| av不卡免费看| 亚洲人成毛片在线播放女女| 亚洲不卡视频| 青青青国产精品| 麻豆视频久久| 91看片一区| 国产农村妇女精品一二区| 爽好多水快深点欧美视频| 日韩专区视频网站| 国产精品手机在线播放| 精品视频高潮| 久久婷婷丁香| 在线一区二区三区视频| 欧美午夜三级| а√在线中文在线新版| 亚洲美洲欧洲综合国产一区| 日韩在线观看中文字幕| 国产精品激情电影| 久久精品国产999大香线蕉| 天堂а√在线最新版中文在线| 国产一区日韩欧美| 蜜桃久久久久久| 国产精品片aa在线观看| av资源中文在线| 午夜久久福利| 日韩av网站在线免费观看| 精品一区91| 婷婷久久一区| 日本精品一区二区三区在线观看视频| 久草精品视频| 波多野结衣一区| 亚洲精品一级| 国产在线观看www| 午夜精品免费| 国产乱论精品| 久久精品国产99久久| 日韩三级一区| 在线亚洲人成| 蜜臀久久久99精品久久久久久| 国产精品免费不| 不卡视频在线| 日本成人中文字幕在线视频| 国产成人精品亚洲线观看| 夜夜精品视频| 欧美极品中文字幕| 欧美搞黄网站| 国产精品蜜月aⅴ在线| 蜜桃视频欧美| 青青草国产成人99久久| 日本免费久久| 欧美日韩1区| 国产高清一区| 国产精品久久乐| 在线一区视频| 国产一区二区亚洲| 亚洲欧美日韩国产| 风间由美中文字幕在线看视频国产欧美| 影音先锋国产精品| 欧美aⅴ一区二区三区视频| 国产精品日韩欧美一区| 国产一区二区三区亚洲综合| 久久香蕉精品| 日韩一区三区| 日本久久一区| 悠悠资源网久久精品| 色综合五月天| 国产欧美三级| 久热综合在线亚洲精品|