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

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

新聞中心

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

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

簡(jiǎn)化JSF 2.0頁(yè)面制作

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

Facelets

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

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

Facelets通常是使用XHTML標(biāo)記語(yǔ)言編寫的,因此Facelets是可以跨不同開(kāi)發(fā)平臺(tái)的,下面是Java EE 6教材中提供的JSF頁(yè)面的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.  

頁(yè)面渲染效果如圖1所示。

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

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

模板

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

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

下面是一個(gè)模板頁(yè)面的內(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.           
 
  •           
     
  •                
  •          
  •  
  •        
  •     
  •  
  • 下面是使用這個(gè)模板的客戶端頁(yè)面代碼:

     
     
     
     
    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)用這個(gè)模板時(shí),它使用標(biāo)題Welcome Page渲染這個(gè)頁(yè)面,這個(gè)頁(yè)面顯示了兩部分內(nèi)容,一個(gè)顯示客戶端中指定的鏈接列表,另一個(gè)顯示客戶端中指定的數(shù)據(jù)。

    混合組件

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

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

    讓我們創(chuàng)建一個(gè)渲染為登錄面板的混合組件,用戶登錄時(shí),組件反饋一個(gè)登錄事件,如圖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)簽,這個(gè)表示組件可以暴露一個(gè)事件,讓使用這個(gè)混合組件的頁(yè)面可以輕松訪問(wèn)它。
    標(biāo)簽定義了混合組件的實(shí)現(xiàn),這里的實(shí)現(xiàn)是一個(gè)簡(jiǎn)單的表,它包括用戶名、密碼和登錄按鈕JSF組件。

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

     
     
     
     
    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/開(kāi)頭,使用資源庫(kù)的名稱結(jié)束。</p><p><strong><f:actionListener></strong></p><p>標(biāo)簽關(guān)聯(lián)混合組件的行為監(jiān)聽(tīng)器,標(biāo)簽中的for屬性表示這個(gè)監(jiān)聽(tīng)器是為混合組件上名為loginEvent行為事件準(zhǔn)備的,你需要編寫代碼來(lái)處理事件,例如:</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對(duì)Ajax的支持</strong></p><p>JSF 2.0天生就支持Ajax,利用Ajax技術(shù),Web應(yīng)用程序在后臺(tái)以異步的方式從服務(wù)器獲取數(shù)據(jù)。支持Ajax后,允許頁(yè)面局部刷新,允許選擇視圖中的一個(gè)組件進(jìn)行處理而不影響其它組件。</p><p>要在JSF中使用Ajax,需要訪問(wèn)有資源標(biāo)識(shí)符的JavaScript資源jsf.js,它存在于javax.faces資源庫(kù)中,包含讓JSF與Ajax交互的JavaScript API,JavaScript API由一組標(biāo)準(zhǔn)的JavaScript函數(shù)組成,使JavaServer Faces框架中的Ajax操作變得簡(jiǎn)單了,你幾乎不用直接包括這個(gè)文件,當(dāng)你使用任何開(kāi)啟Ajax的標(biāo)簽或組件時(shí),JSF會(huì)自動(dòng)包括它。然后你就可以使用<f:ajax>標(biāo)簽或調(diào)用JavaScript API中的函數(shù)了。</p><p>下面是一個(gè)使用<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)的,這樣會(huì)結(jié)合在execute屬性中指定的Ajax行為和<h:commandButton>標(biāo)簽呈現(xiàn)的命令按鈕,你也可以指定一個(gè)event屬性來(lái)識(shí)別JavaScript DOM事件,如果你不指定event屬性,JSF使用組件的默認(rèn)行為,這里的默認(rèn)行為是onclick,因此JSF結(jié)合execute屬性中指定的Ajax請(qǐng)求和呈現(xiàn)按鈕的onclick事件。用戶點(diǎn)擊該按鈕時(shí),JSF提交Ajax請(qǐng)求給服務(wù)器。</p><p>使用<f:ajax>標(biāo)簽的一個(gè)好處是不用在頁(yè)面中指定載入jsf.js,它會(huì)自動(dòng)為你載入,相比之下,如果你調(diào)用JavaScript API,首先需要使用<h:outputScript>讓jsf.js對(duì)當(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請(qǐng)求。例如,你使用JavaScript函數(shù)jsf.ajax.request向服務(wù)器發(fā)送一個(gè)請(qǐng)求,如下面的代碼:</p><pre> <ol> <li><h:commandButton id="button1" value="submit"> </li> <li>   onclick="jsf.ajax.request(this,event);" /> </li> <li> </li> </ol></pre><p>代碼包括一個(gè)<h:commandButton>標(biāo)簽,它呈現(xiàn)為一個(gè)按鈕,用戶點(diǎn)擊這個(gè)按鈕時(shí),向服務(wù)器提交一個(gè)Ajax請(qǐng)求。</p><p><strong>Servlet 3.0和JSF2.0中的更多新特性</strong></p><p>Servlet 3.0中另一個(gè)新特性是允許你使用ServletContext類中的方法通過(guò)編程在Web應(yīng)用程序啟動(dòng)時(shí)向其添加Servlet和Servlet過(guò)濾器,使用addServlet()方法添加Servlet,使用addFilter()添加Servlet過(guò)濾器。結(jié)合可插拔式共享框架特性,Web框架可以在無(wú)開(kāi)發(fā)人員介入的情況下實(shí)現(xiàn)自我配置。</p><p>#t#此外Servlet 3.0加入了許多安全特性,除了聲明安全外,Server 3.0通過(guò)HttpServletRequest接口提供了編程安全,例如,你可以在應(yīng)用程序中使用HttpServletRequest的authenticate()方法執(zhí)行用戶名和密碼的收集,或者使用login()方法指向容器驗(yàn)證一個(gè)非強(qiáng)制請(qǐng)求上下文中的請(qǐng)求調(diào)用者。有關(guān)Servlet 3.0的更多特性,請(qǐng)參閱JSR 315規(guī)范。</p><p>JSF 2.0中的一些額外增強(qiáng)與資源如何打包和處理有關(guān),JSF 2.0標(biāo)準(zhǔn)化了打包哪里的資源。所有資源都放在resources目錄或一個(gè)子目錄下,資源需要按順序正確地進(jìn)行渲染,例如CSS文件和JavaScript文件,圖3顯示了Netbeans中的一個(gè)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類顯示一個(gè)資源,使用javax.faces.application.ResourceHandler類創(chuàng)建資源的實(shí)例。有關(guān)JSF 2.0的更多信息,請(qǐng)參閱JSR 314規(guī)范。</p><p>【譯稿,非經(jīng)授權(quán)請(qǐng)勿轉(zhuǎn)載。合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為,且不得修改原文內(nèi)容。】</p><p>原文:Introducing the Java EE 6 Platform 作者:Ed Ort</p> <br> 本文名稱:在JavaEE6中使用JSF2.0簡(jiǎn)化頁(yè)面制作 <br> 本文鏈接:<a href="http://www.5511xx.com/article/coihpsh.html">http://www.5511xx.com/article/coihpsh.html</a> </div> <div id="jd4s9a2" class="hot_new"> <div id="4nkxkag" class="page_title clearfix"> <h3>其他資訊</h3> </div> <div id="iqmroty" class="news_list clearfix"> <ul> <li> <a href="/article/djiicgs.html">手機(jī)后臺(tái)軟件為什么會(huì)自動(dòng)啟動(dòng)?怎樣設(shè)置才能不自啟?windows自動(dòng)啟動(dòng)程序</a> </li><li> <a href="/article/djiicgc.html">空調(diào)換地方費(fèi)用大概多少?(想把之前緒的主機(jī)費(fèi)用元轉(zhuǎn)移到以前的主機(jī)上)</a> </li><li> <a href="/article/djiicge.html">Linux的分支:探索多樣性(linux的分支)</a> </li><li> <a href="/article/djiicee.html">服務(wù)器cpu玩游戲到底怎么樣?什么樣的服務(wù)器主機(jī)開(kāi)游戲</a> </li><li> <a href="/article/djiiceo.html">Cocos2d學(xué)習(xí)筆記之動(dòng)作Action</a> </li> </ul> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <!-- 底部信息 --> <div id="f1r3u6a" class="footer wow fadeInUp"> <div id="8ioc98u" class="rowFluid"> <div id="9f1hotp" class="span12"> <div id="rgcgcqe" class="container"> <div id="weqniom" class="footer_content"> <div id="dcqge4c" class="span4 col-xm-12"> <div id="4ukh24r" class="footer_list"> <div id="w9usok4" class="span6"> <div id="rgu2sz7" class="bottom_logo"><img src="/Public/Home/images/ewm.jpg" alt="微信服務(wù)號(hào)二維碼" /></div> </div> <div id="iplqm93" class="span6 col-xm-12"> <div id="p2okqmi" class="quick_navigation"> <div id="jmspvs2" class="quick_navigation_title">快速導(dǎo)航</div> <ul> <li><a title="樂(lè)山網(wǎng)站建設(shè)" target="_blank">樂(lè)山網(wǎng)站建設(shè)</a></li><li><a title="成都發(fā)光字加工" target="_blank">成都發(fā)光字加工</a></li><li><a href="http://www.xhgfhy.com/ " title="成都門窗定制" target="_blank">成都門窗定制</a></li><li><a title="成都珉田數(shù)據(jù)中心" target="_blank">成都珉田數(shù)據(jù)中心</a></li><li><a title="德陽(yáng)發(fā)電機(jī)維修公司" target="_blank">德陽(yáng)發(fā)電機(jī)維修公司</a></li><li><a title="網(wǎng)站運(yùn)維托管" target="_blank">網(wǎng)站運(yùn)維托管</a></li><li><a title="網(wǎng)站建設(shè)方案" target="_blank">網(wǎng)站建設(shè)方案</a></li><li><a title="seo關(guān)鍵詞優(yōu)化" target="_blank">seo關(guān)鍵詞優(yōu)化</a></li><li><a title="營(yíng)銷型網(wǎng)站建設(shè)" target="_blank">營(yíng)銷型網(wǎng)站建設(shè)</a></li><li><a title="湖北家用落地?zé)? target="_blank">湖北家用落地?zé)?/a></li><li><a title="成都玉柴發(fā)電機(jī)" target="_blank">成都玉柴發(fā)電機(jī)</a></li> </ul> </div> </div> </div> </div> <div id="e48er1y" class="span4 col-xm-6 col-xs-12"> <div id="wm9xf6n" class="footer_list"> <div id="mdyl9vr" class="footer_link"> <div id="ip8r4cc" 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="成都微信小程序開(kāi)發(fā)" target="_blank">小程序開(kāi)發(fā)</a> <a title="創(chuàng)新互聯(lián)網(wǎng)站欄目導(dǎo)航" target="_blank">網(wǎng)站導(dǎo)航</a> </ul> <div id="wmgdb9n" 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="dkc84mb" class="span4 col-xm-6 col-xs-12"> <div id="4yed6f9" class="footer_list"> <div id="9t883jx" class="footer_cotact"> <div id="nvina94" class="footer_cotact_title">聯(lián)系方式</div> <ul> <li><span id="tbf3e2k" class="footer_cotact_type">企業(yè):</span><span id="8mzdiiw" class="footer_cotact_content">四川綿陽(yáng)平武網(wǎng)站建設(shè)工作室</span></li> <li><span id="rif7yxu" class="footer_cotact_type">地址:</span><span id="49ylapd" class="footer_cotact_content">成都市青羊區(qū)太升南路288號(hào)</span></li> <li><span id="n26q32h" class="footer_cotact_type">電話:</span><span id="si2ao4e" class="footer_cotact_content"><a href="tel:18980820575" class="call">18980820575</a></span></li> <li><span id="mlz6kyu" class="footer_cotact_type">網(wǎng)址:</span><span id="s4jhma7" class="footer_cotact_content"><a href="/" title="四川平武網(wǎng)站建設(shè)">www.5511xx.com</a></span></li> </ul> </div> </div> </div> </div> </div> <div id="fvax9yu" class="copyright"> <p>公司名稱:四川綿陽(yáng)平武網(wǎng)站建設(shè)工作室 聯(lián)系電話:18980820575</p> <p><a target="_blank" rel="nofollow">網(wǎng)站備案號(hào):蜀ICP備2024061352號(hào)-3</a></p> <p>四川平武建站 四川平武網(wǎng)站建設(shè) 四川平武網(wǎng)站設(shè)計(jì) 四川平武網(wǎng)站制作 <a target="_blank">成都做網(wǎng)站</a></p> </div> </div> </div> </div> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.5511xx.com/" title="日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区">日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区</a> <div class="friend-links"> <a href="http://www.9iban.com">久久精品无码av|一级中文无码免费观看|日韩欧美黄片手机版|人妻激情视频成人无码aaa|美女一级黄色毛片|国产aa黄片亚洲破处片|黄色A极大片特级a黄片|综合精品一区二区三区四区在线|国产精品不卡无码av在线播放|超碰亚洲在线日韩肏屄</a> <a href="http://www.datumvisio.com">91AV乱伦强奸|国产理伦电影尤物导航|在线观看高清无码黄片|特黄色电影特级毛片|亚洲精品av一区二区三区|91AV无码免费|久久嫩草国产亚洲无码网站|国产91极度丝袜|青青草在线视频免费观看|黄色av网五月天</a> <a href="http://www.jiangrensw.com">在线视频一本一区|91在线免费视频网站|国产视频在线观看91|A片在线观看视频直接观看|在线免费A片黄色电影|美女视频图片永久免费观看|青青色在线观看视频网站|日本欧美视频在线看v片成人|色情性黄?片免费视频中国免费的|国产一线二线三黄色片</a> </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="kyocv" class="pl_css_ganrao" style="display: none;"><th id="kyocv"><tbody id="kyocv"><blockquote id="kyocv"></blockquote></tbody></th><form id="kyocv"></form><sub id="kyocv"></sub><ins id="kyocv"><tr id="kyocv"><abbr id="kyocv"></abbr></tr></ins><strong id="kyocv"><abbr id="kyocv"><center id="kyocv"></center></abbr></strong><em id="kyocv"><center id="kyocv"></center></em><sub id="kyocv"></sub><mark id="kyocv"></mark><th id="kyocv"></th><blockquote id="kyocv"><bdo id="kyocv"><option id="kyocv"></option></bdo></blockquote><strong id="kyocv"><pre id="kyocv"><center id="kyocv"></center></pre></strong><tbody id="kyocv"><ruby id="kyocv"><center id="kyocv"></center></ruby></tbody><abbr id="kyocv"></abbr><tbody id="kyocv"></tbody><rp id="kyocv"><pre id="kyocv"><nav id="kyocv"></nav></pre></rp><span id="kyocv"></span><dfn id="kyocv"><option id="kyocv"><tbody id="kyocv"></tbody></option></dfn><listing id="kyocv"><em id="kyocv"><tr id="kyocv"></tr></em></listing><strong id="kyocv"></strong><pre id="kyocv"></pre><rp id="kyocv"><dd id="kyocv"><strong id="kyocv"></strong></dd></rp><option id="kyocv"><progress id="kyocv"><listing id="kyocv"></listing></progress></option><source id="kyocv"><tr id="kyocv"><pre id="kyocv"></pre></tr></source><progress id="kyocv"></progress><code id="kyocv"></code><font id="kyocv"></font><div id="kyocv"></div><span id="kyocv"><listing id="kyocv"><del id="kyocv"></del></listing></span><label id="kyocv"></label><blockquote id="kyocv"><bdo id="kyocv"><option id="kyocv"></option></bdo></blockquote><ul id="kyocv"></ul><bdo id="kyocv"></bdo><listing id="kyocv"><em id="kyocv"><tr id="kyocv"></tr></em></listing><option id="kyocv"></option><table id="kyocv"><ins id="kyocv"><pre id="kyocv"></pre></ins></table><abbr id="kyocv"><mark id="kyocv"><span id="kyocv"></span></mark></abbr><menu id="kyocv"></menu><sup id="kyocv"><menu id="kyocv"><tr id="kyocv"></tr></menu></sup><listing id="kyocv"><del id="kyocv"><tr id="kyocv"></tr></del></listing><pre id="kyocv"><u id="kyocv"><mark id="kyocv"></mark></u></pre><progress id="kyocv"><legend id="kyocv"><track id="kyocv"></track></legend></progress><mark id="kyocv"><tbody id="kyocv"><table id="kyocv"></table></tbody></mark><progress id="kyocv"><listing id="kyocv"><small id="kyocv"></small></listing></progress><pre id="kyocv"><div id="kyocv"><label id="kyocv"></label></div></pre><meter id="kyocv"><dfn id="kyocv"><b id="kyocv"></b></dfn></meter><menu id="kyocv"><table id="kyocv"><address id="kyocv"></address></table></menu><ins id="kyocv"><tr id="kyocv"><abbr id="kyocv"></abbr></tr></ins><sup id="kyocv"><span id="kyocv"><tr id="kyocv"></tr></span></sup><tr id="kyocv"></tr><ul id="kyocv"></ul><meter id="kyocv"><div id="kyocv"><option id="kyocv"></option></div></meter><ruby id="kyocv"></ruby><mark id="kyocv"></mark><em id="kyocv"><strike id="kyocv"><th id="kyocv"></th></strike></em><sub id="kyocv"></sub><code id="kyocv"></code><tr id="kyocv"></tr><center id="kyocv"></center><dd id="kyocv"></dd><dd id="kyocv"><tbody id="kyocv"><pre id="kyocv"></pre></tbody></dd><listing id="kyocv"></listing><u id="kyocv"><sup id="kyocv"><source id="kyocv"></source></sup></u><acronym id="kyocv"><legend id="kyocv"><tbody id="kyocv"></tbody></legend></acronym><wbr id="kyocv"><abbr id="kyocv"><sup id="kyocv"></sup></abbr></wbr><sup id="kyocv"><span id="kyocv"><tr id="kyocv"></tr></span></sup><abbr id="kyocv"><sup id="kyocv"><menu id="kyocv"></menu></sup></abbr><track id="kyocv"><pre id="kyocv"><div id="kyocv"></div></pre></track><span id="kyocv"></span><sub id="kyocv"><label id="kyocv"><rp id="kyocv"></rp></label></sub><div id="kyocv"></div><span id="kyocv"></span><dfn id="kyocv"></dfn><address id="kyocv"><strong id="kyocv"><ruby id="kyocv"></ruby></strong></address><ul id="kyocv"></ul><strong id="kyocv"></strong><font id="kyocv"></font><track id="kyocv"><blockquote id="kyocv"><strike id="kyocv"></strike></blockquote></track><div id="kyocv"></div><acronym id="kyocv"></acronym><track id="kyocv"><blockquote id="kyocv"><strike id="kyocv"></strike></blockquote></track><source id="kyocv"></source><address id="kyocv"><strong id="kyocv"><ruby id="kyocv"></ruby></strong></address><legend id="kyocv"></legend><track id="kyocv"><blockquote id="kyocv"><strike id="kyocv"></strike></blockquote></track><table id="kyocv"><ins id="kyocv"><pre id="kyocv"></pre></ins></table><option id="kyocv"><font id="kyocv"><th id="kyocv"></th></font></option><center id="kyocv"></center><option id="kyocv"><samp id="kyocv"><code id="kyocv"></code></samp></option><form id="kyocv"><pre id="kyocv"><wbr id="kyocv"></wbr></pre></form><strong id="kyocv"><ruby id="kyocv"><sub id="kyocv"></sub></ruby></strong><source id="kyocv"></source><label id="kyocv"></label><small id="kyocv"><tr id="kyocv"><dfn id="kyocv"></dfn></tr></small><em id="kyocv"></em><dd id="kyocv"><tbody id="kyocv"><pre id="kyocv"></pre></tbody></dd><em id="kyocv"><sub id="kyocv"></sub></em><pre id="kyocv"><dfn id="kyocv"><mark id="kyocv"></mark></dfn></pre><option id="kyocv"><font id="kyocv"><th id="kyocv"></th></font></option><source id="kyocv"></source></div> </html>