<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 1.4 模板加載器 [TOC] ### 1.4.1 模板資源加載器 資源加載器是根據String值獲取Resource實例的工場類,同時資源加載器還要負責響應模板引擎詢問模板是否變化的調用。對于新手來說,無需考慮模板資源加載器如何實現,只需要根據自己場景選擇系統提供的三類模板資源加載器即可 ### 1.4.2 字符串模板加載器 在創建GroupTemplate過程中,如果傳入的是StringTemplateResourceLoader,則允許通過調用gt.getTemplate(String template)來獲取模板實例對象,如2.1所示 ### 1.4.3 文件資源模板加載器 更通常情況下,模板資源是以文件形式管理的,集中放在某一個文件目錄下(如webapp的模板根目錄就可能是WEB-INF/template里),因此,可以使用FileResourceLoader來加載模板實例,如下代碼: ```java String root = System.getProperty("user.dir")+File.separator+"template"; FileResourceLoader resourceLoader = new FileResourceLoader(root,"utf-8"); Configuration cfg = Configuration.defaultConfiguration(); GroupTemplate gt = new GroupTemplate(resourceLoader, cfg); Template t = gt.getTemplate("/s01/hello.txt"); String str = t.render(); System.out.println(str); ``` 第1行代碼指定了模板根目錄,即位于項目工程下的template目錄 第2行構造了一個資源加載器,并指定字符集為UTF-8 (也可不指定,因為配置文件默認就是UTF-8); 第5行通過模板的相對路徑/s01/hello.txt來加載模板 ### 1.4.4 Classpath資源模板加載器 最常用的加載器。在springboot里,模板資源是打包到jar文件或者同Class放在一起,因此,可以使用ClasspathResourceLoader來加載模板實例,如下代碼: ```java ClasspathResourceLoader resourceLoader = new ClasspathResourceLoader("org/beetl/sample/s01/"); Configuration cfg = Configuration.defaultConfiguration(); GroupTemplate gt = new GroupTemplate(resourceLoader, cfg); Template t = gt.getTemplate("/hello.txt"); String str = t.render(); System.out.println(str); ``` 第1行代碼指定了模板根目錄,即搜索模板的時候從根目錄開始,如果new ClasspathResourceLoader("template/"),則表示搜索template下的模板。此處用空構造函數,表示搜索路徑是根路徑,且字符集默認字符集UTF-8. 第4行通過模板的相對路徑org/beetl/sample/s01/hello.txt來加載模板 ### 1.4.5 WebApp資源模板加載器 WebAppResourceLoader 是用于Java EE web應用的資源模板加載器,默認根路徑是WebRoot目錄。也可以通過制定root屬性來設置相對于WebRoot的的模板根路徑,從安全角考慮,建議放到WEB-INF目錄下 如下是Jfinal集成 里初始化GroupTemplate的方法 ```java Configuration cfg = Configuration.defaultConfiguration(); WebAppResourceLoader resourceLoader = new WebAppResourceLoader(); groupTemplate = new GroupTemplate(resourceLoader, cfg); ``` WebAppResourceLoader 假定 beetl.jar 是位于 WEB-INF/lib 目錄下,因此,可以通過WebAppResourceLoader類的路徑來推斷出WebRoot路徑從而指定模板根路徑。所有線上環境一般都是如此,如果是開發環境或者其他環境不符合此假設,你需要調用resourceLoader.setRoot() 來指定模板更路徑 ### 1.4.6 自定義資源模板加載器 有時候模板可能來自文件系統不同目錄,或者模板一部分來自某個文件系統,另外一部分來自數據庫,還有的情況模板可能是加密混淆的模板,此時需要自定義資源加載,擴展 ResouceLoader 才能實現模板功能,這部分請參考高級部分
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看