日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
在JavaEE6中使用JSF2.0簡化頁面制作

【精選譯文】過去幾個星期,對Java EE 6的新特性進(jìn)行了一系列介紹。除了Servlet 3.0的特性,Java EE 6也使用了新的JSF 2.0標(biāo)準(zhǔn)。下面我們來看一看JSF 2.0是如何簡化頁面制作并提供Ajax支持的。***,我們對Servlet 3.0和JSF 2.0的新特性進(jìn)行了總結(jié)。

簡化JSF 2.0頁面制作

JavaServer Faces技術(shù)提供了一個服務(wù)端組件框架,簡化了Java EE應(yīng)用程序用戶界面的開發(fā),其中最顯著的改進(jìn)是頁面制作,通過使用標(biāo)準(zhǔn)的JavaServer Faces視圖聲明語言(JavaServer Faces View Declaration Language,俗稱Facelets)創(chuàng)建一個JSF頁面更加容易。

Facelets

Facelets是一個強(qiáng)大的輕量級聲明語言,可以使用它展示一個JSF頁面,使用Facelets時,你可以使用HTML風(fēng)格的模板展示一個JSF頁面,也可以構(gòu)建一個組件樹,JSF應(yīng)用程序中的用戶界面通常是由JSF組件構(gòu)成的JSF頁面,F(xiàn)acelets在JSP之上提供了更多優(yōu)點(diǎn)。

在JSP中,Web頁面中的元素是按照漸進(jìn)順序處理和渲染的,而JSF提供了它自己的處理和渲染順序,這可能會導(dǎo)致不可預(yù)測的行為發(fā)生,F(xiàn)acelets解決了這個問題,通過模板,F(xiàn)acelets也允許代碼復(fù)用,可以大大減少開發(fā)UI的時間,現(xiàn)在Facelets已經(jīng)成為構(gòu)建JSF應(yīng)用程序的***技術(shù)。

Facelets通常是使用XHTML標(biāo)記語言編寫的,因此Facelets是可以跨不同開發(fā)平臺的,下面是Java EE 6教材中提供的JSF頁面的Facelets XHTML代碼部分:

 
 
 
 
  1.  
  2.            
  3.            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  4.    
  5.            xmlns:f="http://java.sun.com/jsf/core" 
  6.            xmlns:h="http://java.sun.com/jsf/html" 
  7.            xmlns:ui="http://java.sun.com/jsf/facelets"> 
  8.     
  9.            Guess Number JSF Application 
  10.     
  11.     
  12.        
  13.        

     

  14.        Hi. My name is Duke. I am thinking of a number from  
  15.                to  
  16.                  
  17.        .  
  18.        

     

  19.          Can you guess it ?  
  20.        

     
  21.         
  22.        
  23.              value="#{UserNumberBean.userNumber}"> 
  24.           converterMessage="#{ErrMsg.userNoConvert}"> 
  25.        
  26.              minimum="#{UserNumberBean.minimum}" 
  27.              maximum="#{UserNumberBean.maximum}"/> 
  28.         
  29.        
  30.              action="success" value="submit" /> 
  31.        
  32.                   style="color: red;  
  33.                    font-family: 'New Century Schoolbook', serif;  
  34.                    font-style: oblique;  
  35.                    text-decoration: overline"  
  36.                    id="errors1" 
  37.                    for="userNo"/> 
  38.         
  39.        
  40.     
  41.     
  42.  

頁面渲染效果如圖1所示。

 
圖 1 使用Facelets創(chuàng)建的用戶界面

這個Facelets XHTML頁面和普通JSP頁面并沒有多大不同,F(xiàn)acelets支持JSF和JSTL標(biāo)簽庫,它也包括一個Facelets標(biāo)簽庫,支持功能豐富的頁面模板。命名空間聲明xmlns:ui="http://java.sun.com/jsf/facelets"就是針對facelets標(biāo)簽庫的,但這里沒有使用facelets標(biāo)簽庫的標(biāo)簽,facelets也支持統(tǒng)一的表達(dá)式語言。

模板

使用模板,你可以創(chuàng)建一個頁面作為應(yīng)用程序中其它頁面的模板,這樣可以避免多次創(chuàng)建結(jié)構(gòu)類似的頁面,同時也可以統(tǒng)一應(yīng)用程序中多個頁面的視覺風(fēng)格。

Facelets標(biāo)簽庫包括一個模板標(biāo)簽,為了實(shí)施模板化,首先創(chuàng)建一個包括標(biāo)簽的模板頁面,然后創(chuàng)建一個使用這個模板的客戶端頁面,在客戶端頁面中,使用標(biāo)簽指定模板,使用標(biāo)簽指定插入到模板中的內(nèi)容。

下面是一個模板頁面的內(nèi)容:

 
 
 
 
  1.  
  2.    
  3.    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  4.  
  5.    
  6.          xmlns:ui="http://java.sun.com/jsf/facelets" 
  7.          xmlns:h="http://java.sun.com/jsf/html" 
  8.  
  9.        
  10.          <ui:insert name="title">Page Title</ui:insert 
  11.        
  12.        
  13.           
     
  14.                
  15.           
 
  •           
     
  •                
  •          
  •  
  •        
  •     
  •  
  • 下面是使用這個模板的客戶端頁面代碼:

     
     
     
     
    1.  
    2.     
    3.  
    4.     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    5.  
    6.     
    7.           xmlns:ui="http://java.sun.com/jsf/facelets" 
    8.           xmlns:h="http://java.sun.com/jsf/html" 
    9.       
    10.         
    11.            This text will not be displayed.  
    12.             
    13.                Welcome page  
    14.             
    15.             
    16.                ... [Links should be here]  
    17.             
    18.             
    19.                ... [Data should be here]  
    20.             
    21.         
    22.            This text also will not be displayed.  
    23.       
    24.      

    當(dāng)客戶端調(diào)用這個模板時,它使用標(biāo)題Welcome Page渲染這個頁面,這個頁面顯示了兩部分內(nèi)容,一個顯示客戶端中指定的鏈接列表,另一個顯示客戶端中指定的數(shù)據(jù)。

    混合組件

    混合組件時JSF中的一個新特性,通過它創(chuàng)建自定義JSF組件會更加容易。你可以使用JSF頁面標(biāo)記和其它JSF組件創(chuàng)建混合組件。在Facelets的標(biāo)注下,任何XHTML頁面都可以變成一個混合組件。此外,混合組件可以有驗(yàn)證器,轉(zhuǎn)換器和監(jiān)聽器。

    創(chuàng)建好混合組件后,你可以將它保存到庫中,以后有需要時就可以調(diào)用了。

    讓我們創(chuàng)建一個渲染為登錄面板的混合組件,用戶登錄時,組件反饋一個登錄事件,如圖2所示。

     
    圖 2 登錄面板混合組件

    下面是混合組件的源代碼:

     
     
     
     
    1.    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    2.    
    3.       xmlns:h="http://java.sun.com/jsf/html" 
    4.       xmlns:f="http://java.sun.com/jsf/core"> 
    5.       xmlns:f="http://java.sun.com/jsf/facelets"> 
    6.       xmlns:composite="http://java.sun.com/jsf/composite"> 
    7.  
    8.     
    9.    This content will not be displayed in the rendered output 
    10.     
    11.  
    12.     
    13.      
    14.             
    15.      
    16.      
    17.       
    18.     
    19.  
    20.        
    21.  
    22.     
    23.  
    24.     
    25.  
    26.        
    27.  
    28.     
    29.  
    30.     
    31.  
    32.        
    33.  
    34.     
    35.  
    36.      
    37. Username:   
      Password: 
       
    38.      
    39.     
    40.     
    41.  

    xmlns:composite="http://java.sun.com/jsf/composite"聲明了混合UI組件的命名空間,標(biāo)簽聲明混合組件的使用契約,標(biāo)簽在使用契約中指定標(biāo)簽,這個表示組件可以暴露一個事件,讓使用這個混合組件的頁面可以輕松訪問它。
    標(biāo)簽定義了混合組件的實(shí)現(xiàn),這里的實(shí)現(xiàn)是一個簡單的表,它包括用戶名、密碼和登錄按鈕JSF組件。

    為了讓混合組件可用,將代碼保存為XHTML文件,將文件放到應(yīng)用程序根目錄下resources目錄的子目錄中即可。子目錄的名字可以采用包含混合組件的資源庫名字,JSF運(yùn)行時通過向混合組件的標(biāo)簽名后追加.xhtml后綴查找混合組件。例如,如果你將標(biāo)簽命名為loginPanel,那么保存為混合組件的文件名就是loginPanel.xhtml。然后你就可以在Web頁面中使用混合組件了,下面就是一個使用混合組件的Web頁面代碼示例:

     
     
     
     
    1.    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
    2.    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    3.    
    4.       xmlns:h="http://java.sun.com/jsf/html" 
    5.       xmlns:f="http://java.sun.com/jsf/core" 
    6.       xmlns:ui="http://java.sun.com/jsf/facelets" 
    7.       xmlns:ez="http://java.sun.com/jsf/composite/ezcomp"> 
    8.  
    9.     
    10.    Example 01>/title> </li> <li>   <style type="text/css"> </li> <li>   .grayBox { padding: 8px; margin: 10px 0; border: 1px solid #CCC; background-color: #f9f9f9;  }  </li> <li>   </style> </li> <li>   </h:head> </li> <li> </li> <li>   <h:body> </li> <li>     <p>Usage of Login Panel Component</p> </li> <li> </li> <li>        <ui:debug hotkey="p" rendered="true"/> </li> <li> </li> <li>     <h:form> </li> <li>         <div id="compositeComponent" class="grayBox" style="border: 1px solid #090;"> </li> <li>            <ez:loginPanel> </li> <li>                <f:actionListener for="loginEvent" type="example01.LoginActionListener" /> </li> <li> </li> <li>            </ez:loginPanel> </li> <li>         </div> </li> <li>     <p><h:commandButton value="reload" /></p> </li> <li> </li> <li>     <p><h:outputText value="#{loginActionMessage}" /></p> </li> <li>     </h:form> </li> <li> </li> <li>   </h:body> </li> <li>   </html> </li> <li> </li> </ol></pre><p>注意聲明xmlns:ez="http://java.sun.com/jsf/composite/ezcomp",它指定了混合組件的命名空間和前綴,這里的ezcomp是資源目錄的子目錄名,JSF使用下面的約定:所有命名空間URI都以http://java.sun.com/jsf/composite/開頭,使用資源庫的名稱結(jié)束。</p><p><strong><f:actionListener></strong></p><p>標(biāo)簽關(guān)聯(lián)混合組件的行為監(jiān)聽器,標(biāo)簽中的for屬性表示這個監(jiān)聽器是為混合組件上名為loginEvent行為事件準(zhǔn)備的,你需要編寫代碼來處理事件,例如:</p><pre> <ol> <li>import javax.faces.component.UIComponent;  </li> <li> import javax.faces.component.ValueHolder;  </li> <li> import javax.faces.context.FacesContext;  </li> <li> import javax.faces.event.AbortProcessingException;  </li> <li> import javax.faces.event.ActionEvent;  </li> <li> import javax.faces.event.ActionListener;  </li> <li> </li> <li> public class LoginActionListener implements ActionListener {  </li> <li> </li> <li>     public void processAction(ActionEvent event) throws AbortProcessingException {  </li> <li>         FacesContext context = FacesContext.getCurrentInstance();  </li> <li>         context.getExternalContext().getRequestMap().put("loginActionMessage",  </li> <li>                 "Login event happened");  </li> <li>     }  </li> <li> }  </li> </ol></pre><p>#p#</p><p><strong>JSF 2.0對Ajax的支持</strong></p><p>JSF 2.0天生就支持Ajax,利用Ajax技術(shù),Web應(yīng)用程序在后臺以異步的方式從服務(wù)器獲取數(shù)據(jù)。支持Ajax后,允許頁面局部刷新,允許選擇視圖中的一個組件進(jìn)行處理而不影響其它組件。</p><p>要在JSF中使用Ajax,需要訪問有資源標(biāo)識符的JavaScript資源jsf.js,它存在于javax.faces資源庫中,包含讓JSF與Ajax交互的JavaScript API,JavaScript API由一組標(biāo)準(zhǔn)的JavaScript函數(shù)組成,使JavaServer Faces框架中的Ajax操作變得簡單了,你幾乎不用直接包括這個文件,當(dāng)你使用任何開啟Ajax的標(biāo)簽或組件時,JSF會自動包括它。然后你就可以使用<f:ajax>標(biāo)簽或調(diào)用JavaScript API中的函數(shù)了。</p><p>下面是一個使用<f:ajax>標(biāo)簽的示例:</p><pre> <ol> <li><h:commandButton id="button1"> </li> <li>      <f:ajax execute="..." render="..."/> </li> <li>   </h:commandButton> </li> <li> </li> </ol></pre><p>這里的<f:ajax>標(biāo)簽是嵌套在<h:commandButton>標(biāo)簽內(nèi)的,這樣會結(jié)合在execute屬性中指定的Ajax行為和<h:commandButton>標(biāo)簽呈現(xiàn)的命令按鈕,你也可以指定一個event屬性來識別JavaScript DOM事件,如果你不指定event屬性,JSF使用組件的默認(rèn)行為,這里的默認(rèn)行為是onclick,因此JSF結(jié)合execute屬性中指定的Ajax請求和呈現(xiàn)按鈕的onclick事件。用戶點(diǎn)擊該按鈕時,JSF提交Ajax請求給服務(wù)器。</p><p>使用<f:ajax>標(biāo)簽的一個好處是不用在頁面中指定載入jsf.js,它會自動為你載入,相比之下,如果你調(diào)用JavaScript API,首先需要使用<h:outputScript>讓jsf.js對當(dāng)前視圖可用,例如:</p><pre> <ol> <li><f:view contentType="text/html"/> </li> <li>     <h:head> </li> <li>       <meta... </li> <li>       <title... </li> <li>     </h:head> </li> <li>     <h:body> </li> <li>       ...  </li> <li>       <h:outputScript name="jsf.js" library="javax.faces" target="body"/> </li> <li>       ...  </li> <li>     </h:body> </li> <li>     ...  </li> <li> </li> </ol></pre><p>然后才可以使用JavaScript API中的函數(shù)產(chǎn)生Ajax請求。例如,你使用JavaScript函數(shù)jsf.ajax.request向服務(wù)器發(fā)送一個請求,如下面的代碼:</p><pre> <ol> <li><h:commandButton id="button1" value="submit"> </li> <li>   onclick="jsf.ajax.request(this,event);" /> </li> <li> </li> </ol></pre><p>代碼包括一個<h:commandButton>標(biāo)簽,它呈現(xiàn)為一個按鈕,用戶點(diǎn)擊這個按鈕時,向服務(wù)器提交一個Ajax請求。</p><p><strong>Servlet 3.0和JSF2.0中的更多新特性</strong></p><p>Servlet 3.0中另一個新特性是允許你使用ServletContext類中的方法通過編程在Web應(yīng)用程序啟動時向其添加Servlet和Servlet過濾器,使用addServlet()方法添加Servlet,使用addFilter()添加Servlet過濾器。結(jié)合可插拔式共享框架特性,Web框架可以在無開發(fā)人員介入的情況下實(shí)現(xiàn)自我配置。</p><p>#t#此外Servlet 3.0加入了許多安全特性,除了聲明安全外,Server 3.0通過HttpServletRequest接口提供了編程安全,例如,你可以在應(yīng)用程序中使用HttpServletRequest的authenticate()方法執(zhí)行用戶名和密碼的收集,或者使用login()方法指向容器驗(yàn)證一個非強(qiáng)制請求上下文中的請求調(diào)用者。有關(guān)Servlet 3.0的更多特性,請參閱JSR 315規(guī)范。</p><p>JSF 2.0中的一些額外增強(qiáng)與資源如何打包和處理有關(guān),JSF 2.0標(biāo)準(zhǔn)化了打包哪里的資源。所有資源都放在resources目錄或一個子目錄下,資源需要按順序正確地進(jìn)行渲染,例如CSS文件和JavaScript文件,圖3顯示了Netbeans中的一個JSF項(xiàng)目部分結(jié)構(gòu)及文件,注意其中的resources目錄,CSS和images目錄。</p><p> <br /> 圖 3  JSF應(yīng)用程序中resources目錄下的資源</p><p>JSF 2.0也包括顯示和處理資源的API,使用javax.faces.application.Resource類顯示一個資源,使用javax.faces.application.ResourceHandler類創(chuàng)建資源的實(shí)例。有關(guān)JSF 2.0的更多信息,請參閱JSR 314規(guī)范。</p><p>【譯稿,非經(jīng)授權(quán)請勿轉(zhuǎn)載。合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為,且不得修改原文內(nèi)容?!?/p><p>原文:Introducing the Java EE 6 Platform 作者:Ed Ort</p> <br> 網(wǎng)站題目:在JavaEE6中使用JSF2.0簡化頁面制作 <br> 地址分享:<a href="http://m.5511xx.com/article/coihpsh.html">http://m.5511xx.com/article/coihpsh.html</a> </div> <div id="sbxj4b8" class="hot_new"> <div id="4i9iwk3" class="page_title clearfix"> <h3>其他資訊</h3> </div> <div id="jkzo3mt" class="news_list clearfix"> <ul> <li> <a href="/article/dpcseop.html">怎么修復(fù)網(wǎng)絡(luò)適配器Win7?(windows7如何修復(fù)網(wǎng)絡(luò)適配器)</a> </li><li> <a href="/article/dpcsshd.html">香港服務(wù)器租用有哪些方面的優(yōu)勢</a> </li><li> <a href="/article/dpcssih.html">Excel文件為什么識別成網(wǎng)站</a> </li><li> <a href="/article/dpcsecj.html">函數(shù)使用Linux的mail函數(shù)發(fā)送郵件(linuxmail)</a> </li><li> <a href="/article/dpcseds.html">方舟云服務(wù)器配置?(云服務(wù)器租用如何選擇操作系統(tǒng))</a> </li> </ul> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <!-- 底部信息 --> <div id="9439b94" class="footer wow fadeInUp"> <div id="gyub34x" class="rowFluid"> <div id="7hzo1th" class="span12"> <div id="tv98zjg" class="container"> <div id="qzy7rw3" class="footer_content"> <div id="4rnbdbp" class="span4 col-xm-12"> <div id="v29lo3k" class="footer_list"> <div id="372z7tz" class="span6"> <div id="grg7lbz" class="bottom_logo"><img src="/Public/Home/images/ewm.jpg" alt="微信服務(wù)號二維碼" /></div> </div> <div id="7shnkq6" class="span6 col-xm-12"> <div id="qsyfk6f" class="quick_navigation"> <div id="q7uywbf" class="quick_navigation_title">快速導(dǎo)航</div> <ul> <li><a title="玄科環(huán)保" target="_blank">玄科環(huán)保</a></li><li><a title="四川網(wǎng)站建設(shè)" target="_blank">四川網(wǎng)站建設(shè)</a></li><li><a title="IOS開發(fā)" target="_blank">IOS開發(fā)</a></li><li><a title="資陽網(wǎng)站設(shè)計" target="_blank">資陽網(wǎng)站設(shè)計</a></li><li><a title="成都廣告安裝公司" target="_blank">成都廣告安裝公司</a></li><li><a title="成都汽油發(fā)電機(jī)" target="_blank">成都汽油發(fā)電機(jī)</a></li><li><a title="綿陽維修發(fā)電機(jī)" target="_blank">綿陽維修發(fā)電機(jī)</a></li><li><a title="南充網(wǎng)站制作" target="_blank">南充網(wǎng)站制作</a></li><li><a title="sxjierui.cn" target="_blank">sxjierui.cn</a></li><li><a title="專業(yè)網(wǎng)站設(shè)計" target="_blank">專業(yè)網(wǎng)站設(shè)計</a></li><li><a title="錦江區(qū)企業(yè)代辦服務(wù)" target="_blank">錦江區(qū)企業(yè)代辦服務(wù)</a></li> </ul> </div> </div> </div> </div> <div id="gq39pl6" class="span4 col-xm-6 col-xs-12"> <div id="y4e1l3k" class="footer_list"> <div id="fajqxnt" class="footer_link"> <div id="1tiqdb4" class="footer_link_title">友情鏈接</div> <ul id="frientLinks"> <a title="網(wǎng)站制作" target="_blank">網(wǎng)站制作</a> <a title="網(wǎng)站建設(shè)" target="_blank">網(wǎng)站建設(shè)</a> <a title="成都網(wǎng)絡(luò)推廣" target="_blank">網(wǎng)絡(luò)推廣</a> <a title="成都網(wǎng)站推廣" target="_blank">網(wǎng)站推廣</a> <a title="成都微信小程序開發(fā)" target="_blank">小程序開發(fā)</a> <a title="創(chuàng)新互聯(lián)網(wǎng)站欄目導(dǎo)航" target="_blank">網(wǎng)站導(dǎo)航</a> </ul> <div id="7bixfvr" class="footer_link_title">網(wǎng)站建設(shè)</div> <ul id="frientLinks"> <li><a href="/">四川平武建站</a></li> <li><a title="創(chuàng)新互聯(lián)網(wǎng)站欄目導(dǎo)航" target="_blank">網(wǎng)站導(dǎo)航</a></li> </ul> </div> </div> </div> <div id="lub9iqp" class="span4 col-xm-6 col-xs-12"> <div id="jbqn4ss" class="footer_list"> <div id="m4yj4nk" class="footer_cotact"> <div id="fowb3of" class="footer_cotact_title">聯(lián)系方式</div> <ul> <li><span id="ef6ipel" class="footer_cotact_type">企業(yè):</span><span id="1bpuqwc" class="footer_cotact_content">四川綿陽平武網(wǎng)站建設(shè)工作室</span></li> <li><span id="irh9igx" class="footer_cotact_type">地址:</span><span id="9s3dea9" class="footer_cotact_content">成都市青羊區(qū)太升南路288號</span></li> <li><span id="4k8wc9l" class="footer_cotact_type">電話:</span><span id="p4kxnri" class="footer_cotact_content"><a href="tel:18980820575" class="call">18980820575</a></span></li> <li><span id="lvdbxuj" class="footer_cotact_type">網(wǎng)址:</span><span id="rtq79mf" class="footer_cotact_content"><a href="/" title="四川平武網(wǎng)站建設(shè)">m.5511xx.com</a></span></li> </ul> </div> </div> </div> </div> </div> <div id="7z4ga44" class="copyright"> <p>公司名稱:四川綿陽平武網(wǎng)站建設(shè)工作室 聯(lián)系電話:18980820575</p> <p><a target="_blank" rel="nofollow">網(wǎng)站備案號:蜀ICP備2024061352號-3</a></p> <p>四川平武建站 四川平武網(wǎng)站建設(shè) 四川平武網(wǎng)站設(shè)計 四川平武網(wǎng)站制作 <a target="_blank">成都做網(wǎng)站</a></p> </div> </div> </div> </div> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://m.5511xx.com/" title="日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区">日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区</a> <div class="friend-links"> </div> </div> </footer> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body><div id="ragcl" class="pl_css_ganrao" style="display: none;"><em id="ragcl"></em><pre id="ragcl"><nav id="ragcl"><abbr id="ragcl"></abbr></nav></pre><dd id="ragcl"></dd><ruby id="ragcl"></ruby><sub id="ragcl"></sub><span id="ragcl"><form id="ragcl"><ins id="ragcl"></ins></form></span><em id="ragcl"></em><em id="ragcl"></em><ins id="ragcl"></ins><abbr id="ragcl"><sub id="ragcl"><menu id="ragcl"></menu></sub></abbr><meter id="ragcl"></meter><em id="ragcl"><sub id="ragcl"></sub></em><label id="ragcl"><abbr id="ragcl"><sup id="ragcl"></sup></abbr></label><th id="ragcl"></th><listing id="ragcl"><del id="ragcl"><tr id="ragcl"></tr></del></listing><pre id="ragcl"></pre><em id="ragcl"></em><address id="ragcl"></address><form id="ragcl"></form><menu id="ragcl"></menu><abbr id="ragcl"></abbr><th id="ragcl"></th><sub id="ragcl"><label id="ragcl"><rp id="ragcl"></rp></label></sub><th id="ragcl"></th><menu id="ragcl"></menu><label id="ragcl"><acronym id="ragcl"><dd id="ragcl"></dd></acronym></label><sub id="ragcl"></sub><pre id="ragcl"></pre><em id="ragcl"><meter id="ragcl"><bdo id="ragcl"></bdo></meter></em><mark id="ragcl"></mark><del id="ragcl"><pre id="ragcl"><abbr id="ragcl"></abbr></pre></del><pre id="ragcl"><nav id="ragcl"><ruby id="ragcl"></ruby></nav></pre><tr id="ragcl"><abbr id="ragcl"><ul id="ragcl"></ul></abbr></tr><listing id="ragcl"><del id="ragcl"><tr id="ragcl"></tr></del></listing><tr id="ragcl"><bdo id="ragcl"><b id="ragcl"></b></bdo></tr><small id="ragcl"><em id="ragcl"><style id="ragcl"></style></em></small><tbody id="ragcl"></tbody><address id="ragcl"></address><bdo id="ragcl"><b id="ragcl"><progress id="ragcl"></progress></b></bdo><bdo id="ragcl"></bdo><tbody id="ragcl"></tbody><th id="ragcl"></th><ruby id="ragcl"></ruby><del id="ragcl"><pre id="ragcl"><abbr id="ragcl"></abbr></pre></del><meter id="ragcl"></meter><font id="ragcl"><i id="ragcl"><track id="ragcl"></track></i></font><table id="ragcl"></table><ruby id="ragcl"><center id="ragcl"><label id="ragcl"></label></center></ruby><abbr id="ragcl"></abbr><blockquote id="ragcl"></blockquote></div> </html>