日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

全面探索 FreeMarker 模版引擎的扩展性

發(fā)布時(shí)間:2025/3/21 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 全面探索 FreeMarker 模版引擎的扩展性 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

FreeMarker 模版引擎簡(jiǎn)介

FreeMarker 是一個(gè)采用 Java 開發(fā)的模版引擎,是一個(gè)基于模版生成文本的通用工具。 FreeMarker 被設(shè)計(jì)用來(lái)生成 HTML Web 頁(yè)面,特別是基于 MVC 模式的應(yīng)用程序。雖然 FreeMarker 具有一些編程的能力,但通常由 Java 程序準(zhǔn)備要顯示的數(shù)據(jù),由 FreeMarker 生成頁(yè)面,并通過(guò)模板顯示準(zhǔn)備的數(shù)據(jù)(如下圖)。

圖 1. FreeMarker 工作原理

點(diǎn)擊查看大圖

FreeMarker 非常簡(jiǎn)單,只需要一個(gè) Freemarker.jar 文件(無(wú)需任何配置文件)即可包含所有的功能。但 FreeMarker 的功能卻是非常的強(qiáng)大,相比較另外一個(gè)非常著名的 Java 模版引擎 —— Velocity 來(lái)說(shuō),FreeMarker 的功能讓您驚嘆,但其學(xué)習(xí)的曲線也較 Velocity 要長(zhǎng)很多。

本文主要介紹如何利用 FreeMarker 強(qiáng)大的可擴(kuò)展性來(lái)輸出各種文本信息,這不是 FreeMarker 的入門學(xué)習(xí)材料,如果您尚未對(duì) FreeMarker 有所了解,或者還沒(méi)有使用過(guò) FreeMarker 的話,那不妨先上手后再來(lái)閱讀本文。

FreeMarker 主要提供了如下幾個(gè)方面的擴(kuò)展性功能:

  • 自定義宏
  • 自定義函數(shù)
  • 自定義模版文件加載器
  • 緩存處理
  • 異常處理
  • FreeMarker 自定義宏

    FreeMarker 和 Velocity 都提供可自定義宏的功能,但 FreeMarker 的宏功能更加強(qiáng)大,包括允許通過(guò)名稱和參數(shù)的位置進(jìn)行參數(shù)傳遞;允許設(shè)置參數(shù)的默認(rèn)值;支持宏的嵌套;宏可以先使用再聲明;支持命名空間等。

    下面我們針對(duì)這些功能給出一個(gè)簡(jiǎn)單但是完整的演示例子,先看看代碼:

    清單 1. 宏定義文件 ( html.ftl )

    <#macro html title charset="utf-8" lang="zh-CN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=${charset}" /> <meta http-equiv="Content-Language" content="${lang}"/> <title>${title}</title> </head> <body> <#nested> </body> </html> </#macro>

    在這個(gè)宏定義文件中,我們聲明了一個(gè)名為 html 的宏,該宏是為了生成一個(gè) HTML 頁(yè)面的框架。它具有三個(gè)參數(shù)分別是 title 、charset 和 lang ,其中 charset 和 lang 分別指定了默認(rèn)的值。

    再來(lái)看看如何調(diào)用該宏:

    清單 2. 調(diào)用宏

    <#include "html.ftl"> <@html title="FreeMarker 宏測(cè)試 "> 歡迎使用 FreeMarker 模版引擎</@html>

    在 FreeMarker 中,用戶自定義的宏必須以 @ 開頭來(lái)調(diào)用,并傳入頁(yè)面標(biāo)題 title 的參數(shù)。而 <@html> 標(biāo)簽中包含的文本“歡迎使用 FreeMarker 模版引擎”將替換宏定義中的 <#nested> 標(biāo)簽。因此這個(gè)模版將會(huì)生成如下的 HTML 信息:

    清單 3. 模版生成結(jié)果

    <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Language" content="zh-CN"/> <title>FreeMarker 宏測(cè)試 </title> </head> <body> 歡迎使用 FreeMarker 模版引擎</body> </html>

    而 Velocity 本身并不提供嵌套模版的功能,它必須依賴 Velocity-Tools 這個(gè)項(xiàng)目來(lái)實(shí)現(xiàn)。另外對(duì)于一些需要實(shí)現(xiàn)更復(fù)雜邏輯的宏,還可以通過(guò) Java 類來(lái)進(jìn)行定義。 FreeMarker 提供了一個(gè) TemplateDirectiveModel 接口,通過(guò)實(shí)現(xiàn)該接口可以實(shí)現(xiàn)自定義宏的功能,這樣可以更好的跟應(yīng)用邏輯進(jìn)行集成,不過(guò)需要注意的是暫不支持通過(guò)參數(shù)的位置來(lái)調(diào)用宏,調(diào)用時(shí)必須指定參數(shù)名,該問(wèn)題將在 FreeMarker 2.4 中得以解決。下面是一個(gè)簡(jiǎn)單的例子:

    清單 4. 自定義宏功能的例子

    /*** 將標(biāo)簽中的代碼全部轉(zhuǎn)為大寫并輸出* @author Winter Lau (javayou@gmail.com)* 使用方法:* <@upper>Welcome to http://www.oschina.net</@upper>*/ public class UpperDirective implements TemplateDirectiveModel {public void execute(Environment env,Map params, TemplateModel[] loopVars,TemplateDirectiveBody body)throws TemplateException, IOException {// Check if no parameters were given:if (!params.isEmpty()) {throw new TemplateModelException("This directive doesn't allow parameters.");}if (loopVars.length != 0) {throw new TemplateModelException("This directive doesn't allow loop variables.");}// If there is non-empty nested content:if (body != null) {// Executes the nested body. Same as <#nested> in FTL, except// that we use our own writer instead of the current output writer.body.render(new UpperCaseFilterWriter(env.getOut()));} else {throw new RuntimeException("missing body");}}/*** A {@link Writer} that transforms the character stream to upper case* and forwards it to another {@link Writer}.*/ private static class UpperCaseFilterWriter extends Writer {private final Writer out;UpperCaseFilterWriter (Writer out) {this.out = out;}public void write(char[] cbuf, int off, int len)throws IOException {char[] transformedCbuf = new char[len];for (int i = 0; i < len; i++) {transformedCbuf[i] = Character.toUpperCase(cbuf[i + off]);}out.write(transformedCbuf);}public void flush() throws IOException {out.flush();}public void close() throws IOException {out.close();}}}

    接下來(lái)我們需要重載 FreemarkerServlet ,植入該指令擴(kuò)展,代碼如下:

    清單 5. 重載 FreemarkerServlet

    @Override protected Configuration createConfiguration() {Configuration cfg = super.createConfiguration();cfg.setSharedVariable("upper", new UpperDirective());return cfg; }

    在頁(yè)面模版中使用<@upper>Welcome to http://www.oschina.net</@upper>試試吧。

    FreeMarker 自定義函數(shù)

    與宏不同,宏一般用來(lái)執(zhí)行某個(gè)過(guò)程,而函數(shù)可以定義返回值,例如對(duì)一組數(shù)據(jù)求和、平均值、最大值、最小值等等運(yùn)算。 FreeMarker 的函數(shù)支持可變個(gè)數(shù)的參數(shù)。例如下面定義了一個(gè)求平均值的函數(shù):

    清單 6. 求平均值的函數(shù)例子

    <#function avg nums...> <#local sum = 0> <#list nums as num> <#local sum = sum + num> </#list> <#if nums?size != 0> <#return sum / nums?size> </#if> </#function>

    其中函數(shù)名為 avg ,支持可變個(gè)數(shù)的參數(shù) nums 。可用下面的代碼來(lái)要調(diào)用該函數(shù):

    ${avg(3,5,100,3453)}

    跟宏相同,FreeMarker 也可以用 Java 來(lái)編寫自定義函數(shù)。例如我們用 Java 代碼來(lái)生成一個(gè)隨機(jī)的整數(shù),其代碼如下:

    清單 7. 使用 Java 編寫的自定義函數(shù)

    /*** 生成一個(gè)隨機(jī)的整數(shù)* @author Winter Lau (javayou@gmail.com)* @url http://www.oschina.net*/ public class RandomFunction implements TemplateMethodModel {final static Random rnd_seed = new Random(System.currentTimeMillis());/* (non-Javadoc)* @see freemarker.template.TemplateMethodModel#exec(java.util.List)*/@SuppressWarnings("unchecked")public Object exec(List args) throws TemplateModelException {return rnd_seed.nextInt(Integer.parseInt((String)args.get(0)));}}

    同樣的,需要將該函數(shù)的定義植入 FreeMarker :

    cfg.setSharedVariable("rand",newRandomFunction());

    使用方法:${rand(1000)} 。

    FreeMarker 自定義模版文件加載器

    模版文件加載器用來(lái)告訴 FreeMarker 引擎到什么地方去加載模版文件。 FreeMarker 自帶了三種文件加載器,分別是:文件目錄加載器、類路徑加載器以及 Web 上下文加載器。當(dāng)在 Web 環(huán)境中使用 FreemarkerServlet 來(lái)加載模版文件時(shí),默認(rèn)使用第三種加載器,并通過(guò) Servlet 的配置 TemplatePath 來(lái)指定模版文件所存放的路徑,該路徑是相對(duì)于 Web 的根目錄的。

    在某種情況下,我們可能會(huì)希望把模版文件的源碼進(jìn)行加密處理,例如我們使用 DES 加密方式將模版源文件加密后進(jìn)行存儲(chǔ),然后我們通過(guò)自行實(shí)現(xiàn)一個(gè)加密的模版文件加載器來(lái)讀取這些模版文件,解密后交給 FreeMarker 引擎解釋執(zhí)行并得到執(zhí)行的結(jié)果。 FreeMarker 為模版文件加載器定義了一個(gè)統(tǒng)一的接口 —— TemplateLoader ,該接口有以下四個(gè)方法:

    closeTemplateSource關(guān)閉模版資源
    findTemplateSource根據(jù)名稱返回指定的模版資源
    getLastModified返回模版資源最后一次修改的時(shí)間
    getReader返回讀取模版資源的 Reader

    為了簡(jiǎn)單起見,我們可以在 FreeMarker 自帶的加載器上進(jìn)行擴(kuò)展,重寫 getReader 方法對(duì)讀取到的模版文件內(nèi)容進(jìn)行解密后生成一個(gè)新的 Reader 實(shí)例并返回(詳細(xì)過(guò)程不再敘述)。

    FreeMarker 自帶的幾個(gè) TemplateLoader 分別是:

  • ClassTemplateLoader :基于類路徑的模版加載器
  • FileTemplateLoader :基于文件目錄的模版加載器
  • MultiTemplateLoader :多種加載器的混合
  • StringTemplateLoader :基于字符串的模版加載器
  • URLTemplateLoader :基于 URL 的模版加載器
  • WebappTemplateLoader :基于 Web 上下文的模版加載器
  • 重載模版加載器后通過(guò)下面代碼使之生效:

    cfg.setTemplateLoader(loader)

    FreeMarker 緩存處理

    FreeMarker 的緩存處理主要用于模版文件的緩存,一般來(lái)講,模版文件改動(dòng)不會(huì)很頻繁,在一個(gè)流量非常大的網(wǎng)站中,如果頻繁的讀取模版文件對(duì)系統(tǒng)的負(fù)擔(dān)還是很重的,因此 FreeMarker 通過(guò)將模版文件的內(nèi)容進(jìn)行緩存,來(lái)降低模版文件讀取的頻次,降低系統(tǒng)的負(fù)載。

    當(dāng)處理某個(gè)模版時(shí),FreeMarker 直接從緩存中返回對(duì)應(yīng)的 Template 對(duì)象,并有一個(gè)默認(rèn)的機(jī)制來(lái)保證該模版對(duì)象是跟模版文件同步的。如果使用的時(shí)候 FreemarkerServlet 時(shí),有一個(gè)配置項(xiàng) template_update_delay 用來(lái)指定更新模版文件的間隔時(shí)間,相當(dāng)于多長(zhǎng)時(shí)間檢測(cè)一下是否有必要重新加載模版文件,0 表示每次都重新加載,否則為多少毫秒鐘檢測(cè)一下模版是否更改。

    FreeMarker 定義了一個(gè)統(tǒng)一的緩存處理接口 CacheStorage ,默認(rèn)的實(shí)現(xiàn)是 MruCacheStorage 最近最少使用的緩存策略。一般情況下,很少需要對(duì)緩存進(jìn)行擴(kuò)展處理。您可以通過(guò)下面的代碼指定最大緩存的模版數(shù):

    cfg.setCacheStorage(new freemarker.cache.MruCacheStorage(20, 250))

    其中第一個(gè)參數(shù)是最大的強(qiáng)引用對(duì)象數(shù),第二個(gè)為最大的弱引用對(duì)象數(shù)。這兩個(gè)值 FreeMarker 默認(rèn)的是 0 和 Integer.MAX_VALUE,表明模版緩存數(shù)是無(wú)限的。

    FreeMarker 異常處理

    當(dāng)使用 FreeMarker 做為模版引擎的時(shí)候,可能發(fā)生的異常包括:

    配置異常:配置異常指的是 FreeMarker 初始化時(shí)發(fā)生的異常,例如錯(cuò)誤的配置導(dǎo)致,該異常時(shí)由 FreeMarker 的 API 拋出來(lái)的。

    模版加載異常:模版加載異常可能是模版不存在或者沒(méi)有讀權(quán)限,或者是解析模版時(shí)發(fā)生錯(cuò)誤,例如模版語(yǔ)法錯(cuò)誤等。

    模版執(zhí)行異常:模版執(zhí)行異常是指模版已經(jīng)成功的加載但在執(zhí)行過(guò)程中由于代碼執(zhí)行錯(cuò)誤所拋出的異常,這類異常一般都是用戶的代碼導(dǎo)致。

    正常情況下,前兩種異常會(huì)在開發(fā)過(guò)程中就會(huì)發(fā)現(xiàn)并得以解決,而第三種異常往往跟實(shí)際的運(yùn)行環(huán)境和數(shù)據(jù)有關(guān),例如由于某些數(shù)據(jù)不存在導(dǎo)致的空指針異常等等。因此第三種異常才是我們真正需要關(guān)心以及監(jiān)控的。

    為此,FreeMarker 定義了一個(gè)統(tǒng)一的異常處理接口 TemplateExceptionHandler 。該接口只有一個(gè)方法如下:

    void handleTemplateException(TemplateException te,Environment env,java.io.Writer out)

    通過(guò)調(diào)用 cfg.setTemplateExceptionHandler 來(lái)使用自定義的異常處理方法。下面是一個(gè)簡(jiǎn)單的異常處理擴(kuò)展的例子:

    清單 8. 異常處理擴(kuò)展的例子

    class MyTemplateExceptionHandler implements TemplateExceptionHandler {public void handleTemplateException(TemplateException te, Environment env, java.io.Writer out) throws TemplateException {try {out.write("[ERROR: " + te.getMessage() + "]");} catch (IOException e) {throw new TemplateException("Failed to print error message. Cause: " + e, env);}}}...cfg.setTemplateExceptionHandler(new MyTemplateExceptionHandler());

    Eclipse 的 FreeMarker 插件

    為了方便編寫 FreeMarker 模版,您可以使用 FreeMarker IDE 這個(gè) Eclipse 插件。該插件具有語(yǔ)法高亮、錯(cuò)誤提示等功能。雖然該插件還有很多問(wèn)題,而且已經(jīng)很久沒(méi)更新了,但也能很好地使用。

    總結(jié)

    從上面對(duì)于 FreeMarker 的可擴(kuò)展性的介紹來(lái)看,FreeMarker 確實(shí)是一個(gè)功能非常之強(qiáng)大的模版引擎,可以說(shuō)遠(yuǎn)在 Velocity 之上。不過(guò)從使用的直觀程度以及上手的時(shí)間來(lái)看,其復(fù)雜度也大大的超過(guò)了 Velocity 。當(dāng)我們?cè)诿媾R這兩個(gè)模版引擎的選擇時(shí),不能只是從功能或者容易上手的角度來(lái)決定,更應(yīng)該根據(jù)業(yè)務(wù)本身的需要綜合進(jìn)行比較。

    相關(guān)主題

    • 查看?FreeMarker?相關(guān)信息。
    • 查看?Velocity?相關(guān)信息。
    • 查看 FreeMarker 的?Eclipse 編輯插件?相關(guān)信息。
    • “編寫自定義的 Velocity 指令”(developerWorks,2009 年 4 月):本文通過(guò)一個(gè)實(shí)際應(yīng)用例子對(duì) Velocity 的模板語(yǔ)言中的指令系統(tǒng)進(jìn)行了介紹,并演示了如何通過(guò)編寫自定義的指令來(lái)擴(kuò)展 Velocity 的功能。
    • Java 技術(shù)專區(qū):尋找 Java 編程各方面的技術(shù)文章。

    from:?https://www.ibm.com/developerworks/cn/java/j-lo-freemarker/index.html

    總結(jié)

    以上是生活随笔為你收集整理的全面探索 FreeMarker 模版引擎的扩展性的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    日韩av电影免费观看 | 免费看一级黄色大全 | 欧洲精品视频一区 | 色偷偷97 | 人人澡人人爽 | 欧美日韩在线视频免费 | 丁香综合av | 久久9精品 | 国产99久久九九精品 | 亚洲精品白浆高清久久久久久 | 丁香久久婷婷 | 国产午夜一级毛片 | 91精品久 | 99久久99久久精品免费 | 四虎在线观看精品视频 | 亚洲视频1 | 日韩三级在线 | 国产精品永久在线观看 | 婷婷激情五月综合 | 激情av五月婷婷 | 欧美日韩一区二区视频在线观看 | 亚洲午夜激情网 | 在线观看黄色的网站 | 麻豆视频免费入口 | 在线观看中文字幕第一页 | av免费看在线| av.com在线| 久在线观看 | 久青草视频 | 麻豆一二| 午夜在线观看影院 | 精品国产一区二区在线 | 午夜精品一区二区三区免费视频 | 国产区免费 | 丁香婷婷综合网 | 国产97视频 | 久久草草影视免费网 | 国产999在线| 中文字幕色站 | 4p变态网欧美系列 | 三级大片网站 | 精品美女久久 | 欧美日韩精品在线播放 | 手机在线黄色网址 | 成人免费视频网站在线观看 | 97免费在线观看视频 | 在线观看中文字幕视频 | 超碰在线天天 | 成年人黄色大片在线 | 97久久久免费福利网址 | 国产午夜在线 | 久草99| 免费毛片一区二区三区久久久 | 美女很黄免费网站 | 99久久精品费精品 | 久久久精品国产免费观看一区二区 | 日韩一区二区三区不卡 | 在线观看黄av | 中文字幕在线看视频国产中文版 | 夜夜夜夜夜夜操 | 成人免费视频视频在线观看 免费 | 精品在线一区二区三区 | 亚洲精品久久久蜜臀下载官网 | a黄色一级| 免费看三级| 成人欧美一区二区三区在线观看 | 国产一区私人高清影院 | 成年人在线观看 | 免费99精品国产自在在线 | 国产综合婷婷 | 久久久受www免费人成 | 网站在线观看你们懂的 | 99人成在线观看视频 | 国产一区二区中文字幕 | 久久精品一区二区三区中文字幕 | 9999精品 | 久久久91精品国产一区二区精品 | 日韩电影在线观看一区二区 | 99精品小视频 | 久久免费99精品久久久久久 | 精品一区久久 | 国产在线精品播放 | 日韩国产精品一区 | 欧美一进一出抽搐大尺度视频 | 日本久久片 | 日韩乱色精品一区二区 | 日日夜夜亚洲 | 黄色成人毛片 | 国产精品正在播放 | av大全在线免费观看 | 九九热免费精品视频 | 欧美一区二区三区免费观看 | 欧美一级大片在线观看 | 久久国产精品久久久 | 国产伦理剧 | 天天爽天天摸 | 国产视频一二区 | 亚洲国产wwwccc36天堂 | 精品国产欧美 | 国产欧美综合视频 | 99久久综合精品五月天 | 麻豆成人小视频 | 婷婷六月天在线 | 8x8x在线观看视频 | 97色视频在线 | 99久久er热在这里只有精品15 | 日批视频在线 | www.黄色 | 五月花丁香婷婷 | 国产资源在线观看 | 中文字幕免费在线看 | 97天天干| 中文字幕色婷婷在线视频 | 视频二区在线 | 五月婷婷操 | 亚洲成成品网站 | 日韩精品在线视频免费观看 | 亚洲精品黄色 | 欧美成人黄色片 | 成人小视频免费在线观看 | 人人草在线视频 | 精品久久一区二区三区 | 日韩精品aaa | 99电影| 亚洲成aⅴ人在线观看 | 激情xxxx| 久久久久国产精品一区二区 | 99热精品在线观看 | 五月天婷婷在线播放 | 国产欧美久久久精品影院 | 91看片在线观看 | 日日日天天天 | 日日操天天射 | 久久免费精彩视频 | 手机成人在线电影 | 免费看黄色小说的网站 | 欧美日韩一区二区视频在线观看 | 久久久久久免费毛片精品 | 日韩大陆欧美高清视频区 | 在线婷婷 | 免费网站观看www在线观看 | 最新一区二区三区 | 国产在线黄 | 久草视频播放 | 激情婷婷亚洲 | 久久成人一区二区 | 91视频免费看片 | 日韩午夜电影院 | 色全色在线资源网 | 激情欧美在线观看 | 成人在线视 | 日日夜夜天天 | 五月天色网站 | 久久久精品国产免费观看同学 | av福利在线导航 | 2019中文字幕网站 | 激情久久影院 | 日韩在线一区二区免费 | 欧美日韩亚洲在线观看 | 日韩羞羞| 国产又粗又猛又爽又黄的视频先 | 五月丁香 | 日韩精品一区二区在线 | 久久大视频 | 久久国内视频 | 欧美亚洲免费在线一区 | 91精品国产九九九久久久亚洲 | 国产伦精品一区二区三区在线 | 成人资源在线播放 | www日韩视频 | 久久99精品久久只有精品 | 午夜天使 | 免费黄在线观看 | 一区二区三区四区五区六区 | 国产99久久精品一区二区永久免费 | 久久精品系列 | 夜夜看av| 国产小视频免费在线观看 | 四虎影院在线观看av | 久久亚洲国产精品 | 国产手机精品视频 | 久久亚洲私人国产精品 | 91黄站| 亚洲丝袜一区 | 在线观看91精品视频 | 天天操天天干天天操天天干 | 国产精品18久久久久白浆 | 亚洲国产精品影院 | 国产在线中文 | 又紧又大又爽精品一区二区 | 91专区在线观看 | 在线性视频日韩欧美 | 四虎影视成人永久免费观看亚洲欧美 | 夜夜爽88888免费视频4848 | 日韩手机在线观看 | 久久免费试看 | 国产亚洲精品久久久久秋 | 久久久久久久久久久久影院 | 日韩在线观看你懂得 | 精品福利网 | 天天射天天干天天 | 日韩精品免费一线在线观看 | 人人爱天天操 | 五月导航| 色婷婷久久一区二区 | 在线播放日韩av | 狠狠88综合久久久久综合网 | 国产精品大全 | 日韩中字在线观看 | 久久综合久久八八 | 黄色免费看片网站 | 久久久国产精品一区二区三区 | 亚洲精品视频在线免费播放 | 天天爱天天色 | 99精品久久精品一区二区 | 一区二区视频在线播放 | 精品一二三四视频 | 欧美一区二区精美视频 | 97电影网手机版 | 免费看久久久 | 久久y| 免费一级特黄毛大片 | 玖玖在线资源 | 99一区二区三区 | 91看片在线免费观看 | 亚洲伦理电影在线 | 美女亚洲精品 | 免费看毛片在线 | 日韩av手机在线看 | 91欧美在线 | 国产小视频福利在线 | 亚洲九九九在线观看 | 99色在线观看 | 免费在线观看污网站 | av中文字幕在线免费观看 | 欧产日产国产69 | 免费av视屏 | 免费在线观看日韩视频 | 91精品一区二区三区久久久久久 | 蜜臀av免费一区二区三区 | 狠狠的干 | 在线观看视频免费大全 | 日本中文字幕影院 | 欧美一级片在线观看视频 | 国产在线观看99 | 国产精品久久久久久久久久白浆 | 热热热热热色 | 91精品视频免费在线观看 | 黄色网址在线播放 | 日韩videos高潮hd | 久久99精品久久久久久秒播蜜臀 | 中文字幕资源站 | 成年人免费看的视频 | 免费在线成人av | 国产丝袜 | 国产精品v a免费视频 | 日韩电影在线一区 | 国产亚洲在线观看 | 日韩一区二区三区不卡 | 婷婷色五| 亚洲五月六月 | 久久精品99国产精品 | 婷婷六月综合网 | 色婷婷啪啪免费在线电影观看 | 欧美a在线看 | 日日操天天操夜夜操 | 尤物一区二区三区 | a视频在线 | 蜜桃麻豆www久久囤产精品 | 国产视频一区在线播放 | 亚洲不卡av一区二区三区 | 成年人免费电影在线观看 | 国产精品久久久久久久久久久久久久 | 国产精品久久久免费看 | 中文字幕美女免费在线 | 99精品国产aⅴ| 在线观看精品一区 | 精品久久久久久电影 | 日日干视频 | 国产视频精品在线 | 91麻豆国产 | 丁香激情五月婷婷 | 中文字幕在线视频国产 | 综合久久一本 | 久久综合五月天婷婷伊人 | 四虎4hu永久免费 | 国产午夜麻豆影院在线观看 | 免费日韩三级 | 久久一区二区三区超碰国产精品 | 精品一区二区免费视频 | 久久久噜噜噜久久久 | 欧美精品在线免费 | av超碰在线观看 | 高清av免费看| 成人免费网站视频 | 精品一区二区综合 | 国产美女精品久久久 | 四虎成人精品永久免费av | 色网av| 亚洲一级片在线看 | 国产精品免费久久久久久 | 亚洲精品日韩一区二区电影 | www黄| 免费观看福利视频 | 午夜av免费在线观看 | 午夜色影院 | 日韩免费专区 | 中文字幕二区在线观看 | 亚洲影院国产 | 91完整版 | 国产精品一区欧美 | 中文字幕免 | 久久久久久美女 | 久久亚洲电影 | www.99久久.com | 日韩毛片一区 | 国产一区二区三区久久久 | 91精品国自产在线观看 | 日韩网站中文字幕 | 亚洲精品黄色在线观看 | 激情伊人五月天久久综合 | 国产三级久久久 | 97色婷婷人人爽人人 | 成年人在线免费看 | 在线免费观看国产精品 | 操操操日日日干干干 | 久久久麻豆| 国色天香第二季 | 日日操狠狠干 | 久草在线最新 | 色中色亚洲 | 伊人午夜 | 免费观看黄色12片一级视频 | 国产在线视频导航 | www.色的| 国产在线美女 | 婷婷在线免费视频 | 天天色天天 | 久草精品视频在线看网站免费 | 日韩激情视频 | 手机看片国产日韩 | 99久久精品无码一区二区毛片 | 久久久国产精品网站 | 久久久久久久久久久久久久av | 久久视频在线免费观看 | 麻豆一区在线观看 | 天天干天天爽 | 久久久久久久综合色一本 | 亚洲黄色成人网 | 日韩欧美高清在线 | 欧美视频二区 | 香蕉久久久久久久 | 国产精品久久久久久久av电影 | 国产伦理久久精品久久久久_ | 毛片播放网站 | 麻豆国产精品永久免费视频 | 日韩免费久久 | 最新av网址在线 | 久热av在线| 久久伊人操 | 91人人澡 | 日韩不卡高清视频 | 亚洲女同ⅹxx女同tv | 国产小视频在线观看免费 | 婷婷色资源 | 国产精品正在播放 | 天堂在线成人 | 国产成人精品一区二 | 9999亚洲 | 日本精品在线视频 | 日韩精品在线观看av | 久久综合精品国产一区二区三区 | 亚洲天堂毛片 | 国产91精品高清一区二区三区 | av看片在线 | 国产精品美女www爽爽爽视频 | 8x成人免费视频 | 国产日产精品一区二区三区四区的观看方式 | 人人爽人人片 | 999成人网| av片一区二区 | 婷婷色综合色 | 精品国产乱码久久久久 | 亚洲精品国精品久久99热 | 久草视频免费看 | 黄色软件在线观看视频 | 国产色久 | 国产精品免费久久久久 | 人人模人人爽 | 亚洲免费在线播放视频 | 四虎成人精品在永久免费 | 亚洲美女在线国产 | 久久久久久网址 | 国产精品第72页 | 欧洲精品在线视频 | 伊人五月天综合 | 91在线免费公开视频 | 天天舔夜夜操 | 婷婷伊人综合 | 欧美在线aaa | 久久久高清视频 | 九色视频网址 | 免费一区在线 | 欧美一级黄色网 | 亚洲综合色丁香婷婷六月图片 | 亚洲成人黄色av | 午夜美女福利 | 片黄色毛片黄色毛片 | 一级免费看视频 | 米奇狠狠狠888 | 在线观看国产高清视频 | 亚洲视频2 | 欧美伦理一区二区三区 | 精品一区二区三区久久 | 香蕉日日 | 天堂网av 在线 | 国产99久久久国产 | 美女国产精品 | 在线观看福利网站 | 黄色a视频 | 91福利视频网站 | 日本动漫做毛片一区二区 | 久久精品国产精品亚洲 | 国产精品二区三区 | 在线播放 日韩专区 | 久久高清av | 色操插 | 国产一区二区三区免费观看视频 | 欧美黄色免费 | 99热这里只有精品免费 | 毛片网站在线观看 | 在线播放亚洲激情 | 欧美日韩不卡在线视频 | 久久综合久色欧美综合狠狠 | 99热这里只有精品在线观看 | 亚洲精品美女在线 | 国产一区在线视频播放 | 国产黄色片一级三级 | 91亚洲在线观看 | 在线观看免费成人av | 国产99久久精品一区二区永久免费 | 久久艹免费 | 99在线热播精品免费 | av网在线观看 | 国产一级二级在线观看 | 精品一区二区三区四区在线 | 精品国产乱码久久久久久三级人 | 碰超在线97人人 | 少妇bbb好爽 | 狠狠地操| 中文字幕欧美激情 | 在线观看不卡的av | 在线国产片| 成人黄色在线 | 欧美巨大荫蒂茸毛毛人妖 | 欧美亚洲免费在线一区 | 国产福利一区二区三区在线观看 | 成 人 黄 色 视频 免费观看 | 日本在线观看视频一区 | 国偷自产视频一区二区久 | 国产精品剧情 | 欧美精品久久久久久久久久久 | 奇米7777狠狠狠琪琪视频 | 国产一区二区在线免费 | 中文字幕日韩精品有码视频 | www夜夜操 | 国产不卡视频在线播放 | 国产免费又黄又爽 | 国产精品k频道 | www.在线观看av | www国产精品com | 久久不射网站 | 免费久草视频 | 天天看天天干天天操 | 18岁免费看片 | 精品国产一区二区三区四 | 精品国产乱码久久久久 | 99久热在线精品视频 | 久久蜜臀一区二区三区av | 天天插天天色 | 狠狠网 | 成人福利在线 | 亚洲三级视频 | 久久精品国产v日韩v亚洲 | 日韩中文字幕第一页 | 日韩精品一区二区三区免费观看 | 色国产精品一区在线观看 | 国产一区二区三区四区在线 | bbbb操bbbb| 久久久久久蜜av免费网站 | 欧美一级久久久久 | 成人精品国产免费网站 | 亚洲欧美在线综合 | 亚洲欧美视频网站 | 久久久久久久久久影院 | 久久人人看 | 国产精品久久久久久久久搜平片 | 免费久久久久久久 | 国产又粗又猛又黄 | 色婷婷狠狠操 | 成年人免费观看在线视频 | 激情婷婷六月 | 深爱五月激情网 | 久久久久久久久久网站 | 黄色av电影在线 | 91看片在线免费观看 | 久久久久久久久影院 | 在线观看 亚洲 | 国产欧美综合视频 | 九九爱免费视频 | 欧美另类交人妖 | 超碰人人在线 | 91av网址 | 久久欧美视频 | 久久这里只有精品首页 | 精品国产成人在线 | 亚洲第一久久久 | 九九热视频在线免费观看 | 国产精品手机在线播放 | 久久艹99 | 国产在线观看免 | 精品亚洲午夜久久久久91 | 久久国产精品精品国产色婷婷 | 深爱开心激情网 | 五月婷色 | 成人精品一区二区三区电影免费 | 在线黄色国产 | 久久精品欧美日韩精品 | 综合色狠狠 | 婷婷丁香激情 | 波多野结衣精品在线 | 免费在线观看av电影 | 蜜桃视频精品 | 国产高清黄 | 日韩啪啪小视频 | 久久久久欧美精品 | 粉嫩av一区二区三区入口 | 精品国产诱惑 | 亚洲精品婷婷 | 久草在线免费播放 | 日韩在线观看视频免费 | 精品国内| 色片网站在线观看 | 中文字幕日韩在线播放 | 一区二区三区国 | 亚洲精品裸体 | 国产精品一区二区在线观看免费 | 欧美一级艳片视频免费观看 | 九色激情网 | 国产精品欧美久久 | 天天干.com | 二区视频在线 | 四虎国产精品成人免费影视 | 久久综合国产伦精品免费 | 精品96久久久久久中文字幕无 | 最新av在线播放 | 看黄色91| 久草在线播放视频 | 人人超碰免费 | 97碰碰精品嫩模在线播放 | 美女网色 | 一区二区毛片 | 欧美日韩性生活 | 精品一区二区在线免费观看 | 麻豆传媒精品 | 91精品看片| 92av视频| 国产亚洲精品成人av久久影院 | 久久xx视频 | 97色国产| 高清一区二区三区 | 狂野欧美激情性xxxx欧美 | 日韩精品一区二区在线 | sm免费xx网站 | 中文字幕国产亚洲 | 亚洲精品美女久久 | 激情综合交| 国产黄色特级片 | 在线观看午夜 | 久艹在线免费观看 | 亚洲色图av| 成人午夜精品福利免费 | 欧美一级片免费 | 中文字幕在线日 | 国产乱码精品一区二区蜜臀 | 国产精品视频线看 | 国产一级淫片在线观看 | 人人看人人 | 国产 日韩 欧美 自拍 | 欧美精品第一 | 久久久私人影院 | 亚洲综合在线一区二区三区 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 国产精品2019| 国产不卡视频在线播放 | 久久这里只有精品23 | 欧美午夜精品久久久久久孕妇 | 久久久网页| 欧美日韩免费一区二区三区 | 中文av在线播放 | 国产成人三级在线观看 | 成人午夜在线电影 | 免费av黄色 | 久久99在线观看 | 日日夜夜狠狠操 | 成人中心免费视频 | 黄色三级在线 | 国产精品综合久久 | 中文字幕中文中文字幕 | 992tv在线观看网站 | 超碰人人超 | 欧美了一区在线观看 | 在线看福利av | 九九视频免费观看视频精品 | 在线亚洲日本 | 天堂av在线 | 91九色蝌蚪视频 | 深爱激情五月综合 | 欧美资源| 国产精品99视频 | 国产精品久久久久一区二区三区 | www日韩视频| 久久久黄色av | 91桃色免费视频 | 综合色婷婷 | 伊人网综合在线观看 | 色婷婷国产精品 | 亚洲一级电影在线观看 | 日韩在线欧美在线 | 日韩欧美视频在线观看免费 | 日本在线中文在线 | 69国产盗摄一区二区三区五区 | 午夜精品视频免费在线观看 | www.狠狠操.com | 亚洲精品在线视频观看 | 亚洲精品视频中文字幕 | a色视频 | 成年人免费在线观看 | 黄色网www | 一级成人免费 | 福利片视频区 | 97超碰在线视 | 婷婷四房综合激情五月 | 欧美日韩精品在线播放 | 天天射网站 | 成人av在线网址 | 在线探花| 91久草视频 | 国产亚洲激情视频在线 | 色综合久久综合中文综合网 | 久青草国产在线 | 精品久久网 | 日韩在线 一区二区 | 黄色小说视频网站 | 在线一区av| 中文字幕乱视频 | 91精品人成在线观看 | 久久伦理电影网 | 亚洲精品国产拍在线 | 久久99久| 欧美日韩不卡一区二区三区 | 中文字幕日本特黄aa毛片 | 日日夜夜网 | 2018精品视频 | 一级一片免费观看 | 久久国产精品久久w女人spa | 在线看片视频 | 97av精品| 国产亚洲精品bv在线观看 | 久草视频观看 | 丁香婷婷激情网 | 中文字幕美女免费在线 | 99精品免费久久久久久日本 | 成人激情开心网 | 免费在线色 | 亚洲欧美视频在线观看 | 狠狠色狠狠色综合日日92 | 国产精品3 | 综合网成人 | www色av| 欧美成年网站 | 国产一区在线免费观看视频 | 亚洲日本一区二区在线 | 日本在线观看一区二区三区 | 久久综合福利 | 色婷婷综合久久久中文字幕 | 国产精品免费在线视频 | 国产成人1区| 男女啪啪免费网站 | 91精品国产99久久久久久久 | 婷婷激情综合 | 亚洲精品国产精品99久久 | 福利电影一区二区 | www.99久久.com | 人人爱夜夜操 | 五月开心激情 | 天堂av网址| 色偷偷人人澡久久超碰69 | 日韩中文免费视频 | 免费三级av| 久久观看最新视频 | 国产高清综合 | 一区二区三区国产欧美 | 日韩精品中文字幕有码 | 丁香网五月天 | 亚洲最新精品 | 欧洲色吧 | 亚洲综合视频在线 | 伊人中文在线 | 欧美日韩国产亚洲乱码字幕 | 91精彩视频 | 美女视频黄是免费的 | 91久久精品一区二区三区 | 成人黄色影片在线 | 天堂成人在线 | 日韩av高清 | 亚洲国产视频在线 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 成人在线观看免费 | 亚洲视频综合在线 | 欧美在一区 | 色www.| 99这里有精品 | 最近高清中文字幕 | 去看片 | 久久精品国产久精国产 | 日韩精品一区二区电影 | 久久久亚洲精华液 | 国产成人精品亚洲a | 国产夫妻自拍av | 免费a级毛片在线看 | 久久男女视频 | 国产精品毛片完整版 | 超碰人人做 | 精品国产成人在线影院 | 国产中文在线观看 | 91探花国产综合在线精品 | 国产精品一区一区三区 | 精品一区二区在线观看 | 久久久久久久久福利 | 久久伊人国产精品 | 正在播放日韩 | 欧美国产日韩久久 | 182午夜在线观看 | 欧美一级片免费观看 | 国产精品一区二区无线 | 色a在线观看 | 欧美 国产 视频 | 97在线免费 | 91精品视频在线 | 中文字幕资源在线观看 | 青草视频在线 | 欧美福利在线播放 | 狠狠操天天操 | 午夜精品一区二区三区免费 | 久久亚洲综合国产精品99麻豆的功能介绍 | 国产精品日韩 | 午夜国产在线观看 | 欧美精品色 | 97在线超碰 | 国产精品一区一区三区 | 国产高清永久免费 | 国产精品成人在线观看 | 成人网在线免费视频 | 一二区电影 | 精品黄色在线观看 | 97电影在线| 亚洲精品免费观看 | 久久男人影院 | 黄色毛片大全 | 欧美一二三专区 | 美女在线免费视频 | 国内久久| 亚洲一区二区观看 | 成人动漫视频在线 | 最近免费中文字幕大全高清10 | 国产精品第三页 | 国产精品麻豆99久久久久久 | 久久国产精品区 | 网站在线观看你们懂的 | 国产成人a亚洲精品v | 欧美日韩国产精品一区二区三区 | 人人插人人艹 | 午夜av日韩 | 久久免费精彩视频 | 国内精品久久久精品电影院 | av电影亚洲 | 国产精品一区二区三区电影 | 欧美成人精品三级在线观看播放 | 欧美成人精品xxx | 手机av资源 | 婷婷香蕉 | a v在线视频 | 男女全黄一级一级高潮免费看 | 国产色视频 | 99免费观看视频 | www免费在线观看 | 国产在线视频不卡 | 免费三及片| 91超在线| 色视频在线观看免费 | 成人午夜精品久久久久久久3d | 99精品视频在线观看视频 | 天天操天天射天天爱 | www.久久91| 国产精品24小时在线观看 | 久久国产色 | 成人黄色av网站 | 手机av永久免费 | 亚洲国产精品激情在线观看 | 久久久成人精品 | 91亚洲欧美激情 | 中文字幕av影院 | 波多野结依在线观看 | 91免费高清| 精品在线视频一区二区三区 | 欧美性大战 | 99国产视频 | 操操操夜夜操 | 色丁香久久 | 欧美色噜噜噜 | 亚洲免费在线播放视频 | 中文字幕在线一区观看 | 国产精久久久久久久 | 国产成人综 | 国产成人香蕉 | 国产一级做a爱片久久毛片a | 日韩动态视频 | 91在线精品秘密一区二区 | 天天操天天干天天爱 | 啪啪肉肉污av国网站 | 欧美精品久久久久久久久久久 | 日韩精品综合在线 | 亚州av一区| 菠萝菠萝蜜在线播放 | 中文字幕在线国产 | 日韩国产精品毛片 | 天天操天天操天天爽 | 久久色视频 | 日韩免费av在线 | 97在线看| 97视频在线观看视频免费视频 | av免费看av | 亚洲视频综合在线 | 国产在线精品区 | 97超碰色偷偷 | .国产精品成人自产拍在线观看6 | 九九av| 国产成人久久77777精品 | 美女网站免费福利视频 | 免费观看成人 | 亚洲天天做 | 夜夜躁日日躁狠狠久久88av | 狠狠88综合久久久久综合网 | 中文字幕一区二区三区在线视频 | 91传媒在线 | 在线播放视频一区 | 久久免费看a级毛毛片 | 免费福利在线 | 成年人在线免费看视频 | 国产精品美 | 亚洲精品中文字幕在线观看 | 成人av在线影院 | 婷婷丁香在线 | 欧美日韩视频在线观看一区二区 | 九九色在线观看 | 成人av电影网址 | 爱爱av在线 | 中文字幕91视频 | 久久精品视频在线看 | www.com久久久 | 日韩精品一区二区三区第95 | 久久爱导航 | 在线中文字幕一区二区 | 国产一级黄大片 | 蜜臀一区二区三区精品免费视频 | 青青河边草免费观看 | 中文字幕 第二区 | 高潮久久久久久 | 香蕉视频在线播放 | 97超碰国产精品女人人人爽 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 欧美成人日韩 | 亚洲高清不卡av | 免费a视频 | 尤物97国产精品久久精品国产 | 不卡精品 | 久久久国产精品久久久 | 午夜 久久 tv | 永久黄网站色视频免费观看w | 在线亚州| 日韩免费三区 | 久久综合亚洲鲁鲁五月久久 | 国产a视频免费观看 | a在线观看免费视频 | 香蕉网在线播放 | 手机av看片 | 日韩欧美高清一区二区 | 免费日韩 精品中文字幕视频在线 | 国产精品久久久久久久99 | 99精品热视频只有精品10 | 成人免费看电影 | 久久免费看视频 | 国产亚洲在线观看 | 国产精品美女久久久久久久久 | 中文字幕在线一区观看 | 人人要人人澡人人爽人人dvd | 国产成人久久精品77777综合 | 久草在线视频在线观看 | 一区二区三区四区五区在线 | 国产在线观看91 | 九九久久电影 | 人人射人人爽 | 久草视频视频在线播放 | 国产伦精品一区二区三区在线 | 亚洲精品一区二区三区四区高清 | 97电影手机 | 西西大胆免费视频 | 夜夜操综合网 | 天天综合日| 在线免费观看欧美日韩 | 中文成人字幕 | 国产成人精品亚洲日本在线观看 | 国产一区二区三区四区大秀 | 久久成人在线视频 | 国产高清免费在线观看 | 国产96av| 婷婷丁香综合 | 国产成人精品不卡 | av黄色影院 | 亚州精品一二三区 | av一区在线 | 9色在线视频 | 国产免费av一区二区三区 | 中文字幕在线播放一区 | 在线看的毛片 | 一区二区理论片 | 国产成人精品一区二三区 | www狠狠操 | 成人av一区二区兰花在线播放 | 欧美亚洲一区二区在线 | 久草在线免费色站 | 久久久久久国产精品美女 | 久久精品艹 | 美腿丝袜一区二区三区 | 夜夜骑日日操 | 国产在线看一区 | 伊人天天色 | 久草网站在线 | 欧美日韩视频在线一区 | 成年人黄色免费看 | 国产精品一区二区在线免费观看 | 黄色在线观看免费 | 久久夜色精品国产欧美乱极品 | 国产一区二区三区网站 | 国产99久久九九精品免费 | 久久久免费观看完整版 | 国产手机在线观看视频 | 91看片淫黄大片一级在线观看 | 久久国产精品偷 | 久久久麻豆精品一区二区 | 免费人成网 | 亚洲aⅴ乱码精品成人区 | 日韩电影黄色 | 亚洲欧美国产精品va在线观看 | 久久99网| 成年人在线免费看片 | 波多野结衣久久资源 | 成人毛片在线观看视频 | 中文十次啦 | 波多野结衣视频一区二区三区 | 色99色| 精品一区精品二区高清 | www.888.av | 国产精品女同一区二区三区久久夜 | 91成年视频 | h视频在线看 | 精品色综合 | 国产爽视频 | 欧美久久久 | 久久久久久蜜桃一区二区 | av福利网址导航大全 | 欧美日韩免费一区 | 免费在线观看中文字幕 | 91完整版在线观看 | 99精品在线观看视频 | 日本久久久久久久久久久 | 超碰个人在线 | 色综合久久66 | 国产一线二线三线性视频 | 国产在线免费观看 | 亚洲极色| 成人久久久久久久久久 | 日韩电影中文字幕在线观看 | 日韩精品无 | 夜夜婷婷 | 丁香电影小说免费视频观看 | 在线国产视频一区 |