免费黄色视频在线观看不卡无码国产一区二区三区_亚洲中文字幕无码中文字 _亚洲 国产专区 校园 欧美_国内自拍真实伦在线视频_国产精品成人观看视频免费

河?xùn)|軟件園:綠色免費(fèi)的軟件下載站! 最新軟件|軟件分類|軟件專題|軟件發(fā)布

所在位置:首頁 > 應(yīng)用軟件 > 其它應(yīng)用 > freemarker.jar 2.3.20 官方版

freemarker.jar

 2.3.20 官方版
  • 軟件大小:1.78 MB
  • 更新日期:2017-05-05
  • 軟件語言:簡(jiǎn)體中文
  • 軟件類別:其它應(yīng)用
  • 軟件授權(quán):免費(fèi)軟件
  • 軟件官網(wǎng):
  • 適用平臺(tái):WinXP, Win7, Win8, Win10, WinAll
  • 軟件廠商:

8.9
軟件評(píng)分

本地下載文件大?。?.78 MB 高速下載需下載高速下載器,提速50%

軟件介紹人氣軟件相關(guān)文章網(wǎng)友評(píng)論下載地址

為您推薦:其它應(yīng)用

  freemarker.jar是款簡(jiǎn)單使用的模板引擎;它同時(shí)也是款的freemarker框架這進(jìn)行工作的時(shí)候,經(jīng)常需要使用到的jar包。如果您這進(jìn)行freemarker框架開發(fā)的時(shí)候,缺少了這款freemarker.jar包的話,會(huì)讓您的開發(fā)變得更加的困難,而且這模塊和數(shù)據(jù)改變的基礎(chǔ)上,可以快速的幫助用戶進(jìn)行生成電子郵件、源代碼等工具,需要的朋友趕快這河?xùn)|軟件園將freemarker.jar下載來使用試試吧!

freemarker.jar 2.3.20 官方版

軟件功能

  1、通用目標(biāo)

  能夠生成各種文本:HTML、XML、RTF、Java源代碼等等

  易于嵌入到你的產(chǎn)品中:輕量級(jí);不需要Servlet環(huán)境

  插件式模板載入器:可以從任何源載入模板,如本地文件、數(shù)據(jù)庫等等

  你可以按你所需生成文本:保存到本地文件;作為Email發(fā)送;從Web應(yīng)用程序發(fā)送它返回給Web瀏覽器

  2、強(qiáng)大的模板語言

  所有常用的指令:include、if/elseif/else、循環(huán)結(jié)構(gòu)

  在模板中創(chuàng)建和改變變量

  幾乎在任何地方都可以使用復(fù)雜表達(dá)式來指定值

  命名的宏,可以具有位置參數(shù)和嵌套內(nèi)容

  名字空間有助于建立和維護(hù)可重用的宏庫,或者將一個(gè)大工程分成模塊,而不必?fù)?dān)心名字沖突

  輸出轉(zhuǎn)換塊:在嵌套模板片段生成輸出時(shí),轉(zhuǎn)換HTML轉(zhuǎn)義、壓縮、語法高亮等等;你可以定義自己的轉(zhuǎn)換

  3、通用數(shù)據(jù)模型

  FreeMarker不是直接反射到Java對(duì)象,Java對(duì)象通過插件式對(duì)象封裝,以變量方式在模板中顯示

  你可以使用抽象(接口)方式表示對(duì)象(JavaBean、XML文檔、SQL查詢結(jié)果集等等),告訴模板開發(fā)者使用方法,使其不受技術(shù)細(xì)節(jié)的打擾

  4、為Web準(zhǔn)備

  在模板語言中內(nèi)建處理典型Web相關(guān)任務(wù)(如HTML轉(zhuǎn)義)的結(jié)構(gòu)

  能夠集成到Model2 Web應(yīng)用框架中作為JSP的替代

  支持JSP標(biāo)記庫

  為MVC模式設(shè)計(jì):分離可視化設(shè)計(jì)和應(yīng)用程序邏輯;分離頁面設(shè)計(jì)員和程序員

  5、智能的國(guó)際化和本地化

  字符集智能化(內(nèi)部使用UNICODE)

  數(shù)字格式本地化敏感

  日期和時(shí)間格式本地化敏感

  非US字符集可以用作標(biāo)識(shí)(如變量名)

  多種不同語言的相同模板

  6、強(qiáng)大的XML處理能力

  <#recurse> 和<#visit>指令(2.3版本)用于遞歸遍歷XML樹

  在模板中清楚和直覺的訪問XML對(duì)象模型

  開源論壇 JForum 就是使用了 FreeMarker 做為頁面模板。

軟件特色

  強(qiáng)大的模板語言:條件塊、迭代、作業(yè)、字符串和算術(shù)運(yùn)算和格式化,宏和函數(shù),包括其他模板,逃避在默認(rèn)情況下(可選),和許多更多

  多用途和輕量級(jí):零依賴,任何輸出格式,可以從任何地方加載模板(可插入),許多配置選項(xiàng)

  國(guó)際化/ localization-aware:語言環(huán)境敏感的數(shù)量和日期/時(shí)間格式,局部模板的變化。

  XML處理功能:刪除XML DOM-s到數(shù)據(jù)模型的遍歷,甚至以聲明的方式處理它們

  通用的數(shù)據(jù)模型的:Java對(duì)象暴露在模板變量通過可插入適配器的樹,這決定模板如何看待他們。

freemarker.jar 2.3.20 官方版

術(shù)語表

  屬性

  在連接XMLHTML(或SGML一般),屬性指定的值與元素有關(guān)。例如,在<身體背景=黑色文本=綠色>…< /身體>的屬性是 bgcolor=black和 text=green。在左邊的 =屬性的名稱,而右邊是屬性的值。注意,在XML中,必須引用的值(例如: 在HTML),而對(duì)于某些值是可選的。

  另請(qǐng)參閱開始標(biāo)記

  布爾

  這是一個(gè)變量類型。一個(gè)布爾變量表示一個(gè)邏輯真或假(是或否)。例如,如果客人已經(jīng)登錄。只有兩個(gè)可能的布爾值: true和 false。通常,您將使用一個(gè)布爾值< #如果…>指示當(dāng)你想顯示文本基于某些條件,說,你只顯示頁面的某一部分為游客登錄。

  字符

  一個(gè)符號(hào),人們?cè)趯懽髦惺褂?。字符的例?大寫拉丁字母A(“A”),拉丁小寫字母(A),數(shù)字四(4),數(shù)字符號(hào)(“#”),結(jié)腸(“:”)

  集合

  一個(gè)變量(結(jié)合 list指令)可以吐出一連串的變量。

  數(shù)據(jù)模型的

  東西保存的信息模板來顯示(或以其他方式使用)時(shí),模板處理程序組裝(如網(wǎng)頁)的輸出。在FreeMarker這是最好的可視化為樹。

  指令

  FreeMarker用于指令FTL模板。他們是調(diào)用FTL標(biāo)簽.

  另請(qǐng)參閱預(yù)定義的指令,用戶定義的指令

  元素

  元素是最基本的SGML文件;一個(gè)SGML文檔基本上是一個(gè)樹的元素。用于HTML元素的例子:身體,頭部,標(biāo)題,p,h1,h2。

  結(jié)束標(biāo)記

  標(biāo)簽,這表明以下內(nèi)容不符合元素。例子: .

  另請(qǐng)參閱開始標(biāo)記

  另請(qǐng)參閱標(biāo)準(zhǔn)通用標(biāo)記語言

  FreeMarker模板語言

  簡(jiǎn)單的編程語言設(shè)計(jì)編寫文本文件模板,特別是HTML模板。

  FTL

  看到FreeMarker模板語言

  …Java類:一個(gè)Java類的完全限定名稱包含類名和包名類屬于。它明確地指定了類,不管上下文。full-qualifed類名的一個(gè)例子:java.util.Map(而不是 Map).

  函數(shù)定義的身體

  模板之間的片段< #函數(shù)…>和 。這個(gè)模板片段將在您調(diào)用函數(shù)時(shí)執(zhí)行(例如 myFuction(1, 2)).

  哈希

  一個(gè)變量,充當(dāng)一個(gè)容器存儲(chǔ)子變量,可以通過一個(gè)字符串檢索查找名稱。

  宏定義的身體

  模板之間的片段< #宏…>和 。這個(gè)模板片段將被執(zhí)行時(shí)調(diào)用宏(例如 <@myMacro/>).

  標(biāo)記輸出值

  值與FTL類型“標(biāo)記輸出”。這種類型有關(guān)auto-escaping機(jī)制,你可以讀到這類。但簡(jiǎn)而言之,這是一個(gè)值存儲(chǔ)文本已經(jīng)在輸出標(biāo)記格式(如HTML、XML、RTF等),因此不能auto-escaped。

  方法

  一個(gè)變量來計(jì)算根據(jù)你給的參數(shù),并返回結(jié)果。

  MVC模式

  MVC代表模型-視圖-控制器。這是一個(gè)設(shè)���模式開始在70年的作為一個(gè)框架開發(fā)人員通過Trygve Reenskaug Smalltalk,和主要用于UI-s(用戶界面)。MVC認(rèn)為三個(gè)角色:

  模型:模型表示應(yīng)用程序(域)在非視覺的方式具體信息。例如,產(chǎn)品對(duì)象數(shù)組在你電腦的內(nèi)存是模型的一部分。

  視圖:視圖顯示了模型并提供了用戶界面。例如,它的任務(wù)視圖組件呈現(xiàn)HTML頁面的產(chǎn)品對(duì)象的數(shù)組。

  控制器:控制器處理用戶輸入,修改模型,并確保在需要時(shí)更新視圖。例如它的任務(wù)控制器傳入的HTTP請(qǐng)求,解析接收到的參數(shù)(形式),調(diào)度請(qǐng)求適當(dāng)?shù)臉I(yè)務(wù)邏輯對(duì)象,并選擇正確的HTTP響應(yīng)的模板。

  最重要的事情對(duì)我們?cè)趹?yīng)用MVC Web應(yīng)用程序的視圖的分離從其他兩個(gè)角色。這允許設(shè)計(jì)師(HTML作者)從程序員的分離。設(shè)計(jì)師處理視覺方面,程序員處理應(yīng)用程序邏輯和其他技術(shù)問題;每個(gè)人都工作在他擅長(zhǎng)什么。設(shè)計(jì)師和程序員不互相依賴。設(shè)計(jì)師可以改變外觀程序員無需修改或重新編譯程序。

  我推薦閱讀的更多信息4.4章設(shè)計(jì)企業(yè)應(yīng)用程序的J2EE平臺(tái)藍(lán)圖。

  輸出編碼

  意味著輸出字符集。在Java世界中“編碼”這個(gè)詞通常(mis)用作同義詞字符集。

  作為默認(rèn)值錯(cuò)誤

  一個(gè)錯(cuò)誤發(fā)生在模板解析階段,而不是后來的模板執(zhí)行階段(見下面有解釋)。這樣一個(gè)錯(cuò)誤的存在可以防止整個(gè)模板的執(zhí)行,即使執(zhí)行不會(huì)用錯(cuò)誤的一部分。這被視為一種優(yōu)勢(shì),因?yàn)樗兄谠缙?在部署之前,理想情況下in-editor)錯(cuò)誤檢測(cè)。

  FreeMarker模板處理兩個(gè)階段。首先整個(gè)模板語法分析,這被稱為解析。解析的結(jié)果 TemplateJava對(duì)象,通常緩存快速重用。后,已經(jīng)解析模板可以無限次執(zhí)行根據(jù)的內(nèi)容生成輸出數(shù)據(jù)模型的。錯(cuò)誤發(fā)生在解析期間被稱為作為默認(rèn)值的錯(cuò)誤。

  預(yù)定義的指令

  指令由FreeMarker定義,因此總是可用的。預(yù)定義指令的例子: if, list, include

  另請(qǐng)參閱用戶定義的指令

  正則表達(dá)式

  正則表達(dá)式是一個(gè)字符串,指定一組字符串相匹配。例如,正則表達(dá)式 "fo*"匹配 "f", "fo", "foo"等。正則表達(dá)式中使用幾種語言和其他工具。FreeMarker),它們的使用是一個(gè)“超級(jí)用戶”選項(xiàng)。如果你從來沒有使用過,沒有必要擔(dān)心不熟悉他們。正則表達(dá)式,但是如果你感興趣你可以找到幾個(gè)網(wǎng)頁和關(guān)于他們的書。FreeMarker使用正則表達(dá)式描述的變化:http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html

  標(biāo)量

  一個(gè)標(biāo)量變量存儲(chǔ)一個(gè)值。一個(gè)標(biāo)量字符串或數(shù)字或日期/時(shí)間或布爾.

  序列

  一個(gè)序列是一個(gè)變量,它包含一個(gè)序列的子變量。序列的子變量是通過數(shù)值索引,索引的第一個(gè)對(duì)象是0,第二個(gè)對(duì)象的指數(shù)是1,第三個(gè)對(duì)象的索引是2,等等。

  另請(qǐng)參閱哈希

  SGML

  看到標(biāo)準(zhǔn)通用標(biāo)記語言

  標(biāo)準(zhǔn)通用標(biāo)記語言

  這是一個(gè)國(guó)際標(biāo)準(zhǔn)(ISO 8879)指定的規(guī)則創(chuàng)建獨(dú)立于平臺(tái)的標(biāo)記語言。HTML是一種標(biāo)記語言使用SGML創(chuàng)建。XML是SGML(限制版)的一個(gè)子集。

  另請(qǐng)參閱可擴(kuò)展標(biāo)記語言

  開始標(biāo)記

  標(biāo)簽,這表明以下內(nèi)容元素,下到結(jié)束標(biāo)記。開始標(biāo)記也可以指定屬性的元素。一個(gè)開始標(biāo)記的例子:

  字符串

  一個(gè)序列的字符如“m”、“o”、“u”,“s”、“e”。

  標(biāo)簽

  文本片段在SGML指示元素的用法。標(biāo)簽的例子: ,

  另請(qǐng)參閱開始標(biāo)記,結(jié)束標(biāo)記

  模板

  一個(gè)模板是一個(gè)文本文件,一些特殊的字符序列嵌入到它。模板處理程序(例如FreeMarker)將特殊字符序列和它輸出一個(gè)或多或少不同的文本從原來的文本文件,其中的差異往往基于一個(gè)數(shù)據(jù)模型的。因此,原文作為模板可能的輸出。

  模板編碼

  意味著模板字符集。在Java世界中“編碼”這個(gè)詞通常(mis)用作同義詞字符集。

freemarker.jar 2.3.20 官方版

  模��處理工作

  模板處理工作過程中FreeMarker合并的主要(頂級(jí))模板數(shù)據(jù)模型的生產(chǎn)產(chǎn)量。因?yàn)槟0蹇梢?include和 import其他模板,這可能涉及到多個(gè)模板的處理,但這些都屬于同一模板處理的工作,這是開始的處理主要模板。模板處理的工作只存在短時(shí)間內(nèi),直到主模板的處理完成后,然后它消失過程中創(chuàng)建的所有變量(變量創(chuàng)建 assign, macro, global等指示)。

  線程安全的

  一個(gè)對(duì)象是線程安全的,如果是安全的從多個(gè)線程調(diào)用它的方法,即使是在平行(即多個(gè)線程同時(shí)執(zhí)行對(duì)象的方法)。非線程安全的���象可能行為就在這種情況下,產(chǎn)生錯(cuò)誤結(jié)果,腐敗的內(nèi)部數(shù)據(jù)結(jié)構(gòu),等。用Java線程安全通常以兩種方式實(shí)現(xiàn):使用 synchronized語句(或synchronized方法),封裝數(shù)據(jù)的不變性(即你不能修改字段后,您已經(jīng)創(chuàng)建了對(duì)象)。

  變換

  這個(gè)詞指的是用戶定義的指示,與現(xiàn)在implemetned過時(shí)了 TemplateTransformModelJava接口。功能最初是為實(shí)現(xiàn)輸出過濾器,因此得名。

  UCS

  這是國(guó)際標(biāo)準(zhǔn)(iso - 10646)定義了一個(gè)巨大的組字符分配一個(gè)惟一的編號(hào),每個(gè)字符(“!”33歲的……,“一”是61年,“B”是62,……阿拉伯語字母哈姆薩是1569…等等)。這個(gè)字符集(不是字符集)包含今天使用幾乎所有字符(拉丁字母,西里爾字母,中文信件,等等)。UCS背后的想法是,我們可以指定任何字符和一個(gè)獨(dú)特的號(hào)碼,無關(guān)緊要的平臺(tái)或語言是什么。

  另請(qǐng)參閱Unicode

  Unicode

  實(shí)際標(biāo)準(zhǔn)由Unicode組織。它處理字符的分類UCS(這是字母,數(shù)字,大寫,小寫,等等),和其他問題的處理文本的字符UCS(如標(biāo)準(zhǔn)化)。

freemarker.jar 2.3.20 官方版

  用戶定義的指令

  指令FreeMarker沒有定義的核心,但由用戶。這些通常是應(yīng)用程序域特定指令,比如下拉菜單生成指令,HTML表單處理指令。

  另請(qǐng)參閱預(yù)定義的指令

  空白

  字符是完全透明的,但對(duì)文本的視覺外觀的影響。空白字符的例子:空格、制表(橫向和縱向),換行符(CR和低頻),形成飼料。

  另請(qǐng)參閱換行符

  XML

  看到可擴(kuò)展標(biāo)記語言

包括文件

  META-INF/MANIFEST.MF

  freemarker.cache.CacheStorage.class

  freemarker.cache.ClassTemplateLoader.class

  freemarker.cache.ConcurrentCacheStorage.class

  freemarker.cache.ConcurrentMapFactory.class

  freemarker.cache.FileTemplateLoader.class

  freemarker.cache.MruCacheStorage.class

  freemarker.cache.MultiTemplateLoader.class

  freemarker.cache.SoftCacheStorage.class

  freemarker.cache.StatefulTemplateLoader.class

freemarker.jar 2.3.20 官方版

  freemarker.cache.StringTemplateLoader.class

  freemarker.cache.StrongCacheStorage.class

  freemarker.cache.TemplateCache.class

  freemarker.cache.TemplateLoader.class

  freemarker.cache.URLTemplateLoader.class

  freemarker.cache.URLTemplateSource.class

  freemarker.cache.WebappTemplateLoader.class

  freemarker.core.AddConcatExpression.class

  freemarker.core.AndExpression.class

  freemarker.core.ArithmeticEngine.class

  freemarker.core.ArithmeticExpression.class

  freemarker.core.Assignment.class

  freemarker.core.AssignmentInstruction.class

  freemarker.core.AttemptBlock.class

  freemarker.core.BlockAssignment.class

  freemarker.core.BodyInstruction.class

  freemarker.core.BooleanExpression.class

  freemarker.core.BooleanLiteral.class

  freemarker.core.BreakInstruction.class

  freemarker.core.BuiltIn.class

  freemarker.core.BuiltinVariable.class

  freemarker.core.Case.class

  freemarker.core.CollectionAndSequence.class

  freemarker.core.CommandLine.class

  freemarker.core.Comment.class

  freemarker.core.ComparisonExpression.class

  freemarker.core.CompressedBlock.class

  freemarker.core.ConditionalBlock.class

  freemarker.core.Configurable.class

  freemarker.core.CustomAttribute.class

  freemarker.core.DebugBreak.class

  freemarker.core.DefaultToExpression.class

使用說明

  FTL方面變化

  清單(#list)收到了一些專門的便利功能,目標(biāo)模板的典型任務(wù)人一次又一次。

  新 list指導(dǎo)孩子的指示。有 else和 items與0-length列表,處理特殊情況 sep插入分隔符之間的物品。更多細(xì)節(jié),請(qǐng)參閱list指令引用中.

  新的內(nèi)置函數(shù),按照循環(huán)變量:var ?指數(shù)(不贊成var_index),var ?計(jì)數(shù)器(基于指數(shù)),var ? has_next(不贊成var_has_next),var ? is_first,var ? is_last,var ? item_parity(返回 "odd"或 "even"),var ? item_parity_cap,var ? item_cycle(...)等。

  添加方便賦值操作符,可以用于賦值指令(#assign, #global和 #local現(xiàn)在只):

  ++和 --:例如, <#assign counter++>相當(dāng)于 <#assign counter = counter + 1>.

  +=, -=, *=, /=和 %=:例如, <#assign counter += 2>相當(dāng)于 <#assign counter = counter + 2>.

  添加了 then可以使用內(nèi)置的,像一元運(yùn)算符:someBoolean嗎?然后(whenTrue whenFalse)。就像大多數(shù)其他語言的三元運(yùn)算符,只有一個(gè)參數(shù)的表達(dá)式將被評(píng)估。更多細(xì)節(jié)…

freemarker.jar 2.3.20 官方版

  添加了 switch可以使用內(nèi)置的,像一個(gè)內(nèi)聯(lián)(表達(dá)式)switch-case-default聲明:someValue嗎?開關(guān)(result2 case1 result1,編寫此表達(dá)式,病例2,…caseN、resultN defaultResult),在那里defaultResult可以省略(那么它將錯(cuò)誤如果沒有情況下匹配)。更多細(xì)節(jié)…

  添加駝峰式大小寫支持標(biāo)識(shí)符的模板語言(用戶定義的名稱不受影響)。例如,現(xiàn)在 <#noEscape>${x?upperCase}或<#setting numberFormat="0.0">或 <#ftl stripText=true>是有效的。然而,在同一個(gè)模板,FreeMarker需要你使用相同的命名約定一致的所有標(biāo)識(shí)符模板語言的一部分。也可以執(zhí)行相同的命約定從Java通過模板Configuration.setNamingConvention(int)。駱駝這樣必然將成為未來推薦大會(huì)從一些版本,因?yàn)镴ava API-s用戶電話模板使用。

  增加了新的特殊變量, .current_template_name和 .main_template_name。這些反對(duì) .template_name時(shí),它總是破碎的宏調(diào)用。新 .current_template_name總是返回模板的名稱包含引用特殊變量,和 .main_template_name總是返回最頂層模板的名稱。

  小錯(cuò)誤消息的改進(jìn)。,添加提示錯(cuò)誤消息的頻繁的問題someMap[someNumber]抱怨someMap不是一個(gè)字符串序列也可強(qiáng)迫的。

  Bug修復(fù),激活與設(shè)置 incompatible_improvements2.3.23:還有很長(zhǎng)的現(xiàn)有作為默認(rèn)值規(guī)則說 #breakFTL源代碼本身,必須發(fā)生嵌套在一個(gè)易碎的指令,如 #list或 #switch。這張支票可以規(guī)避 #macro或 #function像這樣: <#list 1..1 as x><#macro callMeLater><#break><@callMeLater />。激活此修復(fù)后,這將被解析的時(shí)間錯(cuò)誤。

  在Java端變化

  添加 Configuration.setNamingConvention(int)。默認(rèn)情況下FreeMarker將自動(dòng)檢測(cè)的命名約定(遺留VS駝峰式大小寫)用于標(biāo)識(shí)符的模板語言的一部分,為每個(gè)單獨(dú)的模板。此設(shè)置允許您執(zhí)行一個(gè)命名約定。

  Configuration(實(shí)際上任何 Configurable)設(shè)置名稱現(xiàn)在也可以用駝峰式大小寫。例如,如果您正在配置FreeMarker屬性文件,你可以 defaultEncoding=utf-8而不是 default_encoding=utf-8。您可以使用兩個(gè)命名約定(駱駝,和傳統(tǒng)的蛇)混合,和Configuration.setNamingConvention(int)這種行為沒有影響。

  添加 Configuration.setTemplateUpdateDelayMilliseconds(long)和Configuration.getTemplateUpdateDelayMilliseconds()。這個(gè)不贊成 setTemplateUpdateDelay(int)使用秒分辨率,因此與Java約定和經(jīng)常導(dǎo)致誤解。(也不可能一對(duì)getter。)

  的 template_update_delay設(shè)置,當(dāng)指定為一個(gè)字符串(如內(nèi)部 java.util.Properties),支持時(shí)間單位,像template_update_delay=500 ms.

freemarker.jar 2.3.20 官方版

  添加 Environment.getCurrentTemplate()方法,該方法返回當(dāng)前執(zhí)行模板(相對(duì)于主要的模板)。

  添加 WebappTemplateLoader.setAttemptFileAccess(boolean),可用于禁用遺留的訣竅,我們?cè)噲D加載模板通過直接文件訪問,因此模板更新而不需要重新啟動(dòng)工作。禁用URL連接緩存(someURLBasedTemplateLoader.setURLConnectionUsesCaches(false),這也是默認(rèn)的 incompatible_improvements2.3.21)可能解決現(xiàn)代的Servlet容器。

  在 FreemarkerServlet TemplatePath初始化路徑(如 /templates)可以有一個(gè)?設(shè)置(…)后綴,可以設(shè)置的JavaBean屬性產(chǎn)生的TemplateLoader。例如: /templates?settings(attemptFileAccess=false, URLConnectionUsesCaches=false)

  添加 FileTemplateLoader.setEmulateCaseSensitiveFileSystem(boolean)。這是非常方便的,當(dāng)您正在開發(fā)Windows,但將部署到一個(gè)平臺(tái)與區(qū)分大小寫的文件系統(tǒng)。默認(rèn)值是 false, true僅僅是為了發(fā)展,而不是生產(chǎn)設(shè)施??梢愿采w默認(rèn)設(shè)置org.freemarker.emulateCaseSensitiveFileSystem系統(tǒng)屬性, true.

  Bug修復(fù)(424年]: WebappTemplateLoader沒有找到模板,存儲(chǔ)在 WEB-INF/lib/*.jar/META-INF/resources。該目錄下的文件是可見的 ServletContext資源從Servlet 3.0 WebappTemplateLoader通常沒有看到他們因?yàn)橐恍﹥?nèi)部技巧。

  Bug修正:如果一個(gè)模板“文件”被成功打開閱讀,然后有一個(gè) IOException在閱讀其內(nèi)容,解析器(JavaCC)像如果模板”文件”結(jié)束,例外是鎮(zhèn)壓。它實(shí)際上是一個(gè)JavaCC怪癖也影響許多其他JavaCC-based語言,但現(xiàn)在FreeMarker已經(jīng)添加了一個(gè)解決方案 Template構(gòu)造函數(shù),所以現(xiàn)在將拋出一個(gè)異常。

  缺陷修正: InvalidReferenceException.FAST_INSTANCE可能不小心存儲(chǔ)引用 Environment實(shí)例,因此從來沒有垃圾收集。

freemarker.jar 2.3.20 官方版

  Bug修復(fù)(426年):當(dāng)設(shè)置 incompatible_improvements2.3.22,特殊的變量引用 .template_name在模板的名稱總是返回主模板(上面),由于2.3.22的監(jiān)督。設(shè)置 incompatible_improvements2.3.23恢復(fù)舊,向后兼容的行為。(注意,我們模仿本身就是打破舊的行為,因?yàn)樗还ぷ魍ㄟ^宏調(diào)用;您應(yīng)該使用 .current_template_name或 .main_template_name相)。

  Bug修復(fù)(53]:模板解析異常緩慢的模板非常高的AST(抽象語法樹)節(jié)點(diǎn)數(shù)相同層次結(jié)構(gòu)的級(jí)別。

  并發(fā)Bug修復(fù):當(dāng)模板替換在后備存儲(chǔ)器在首次加載仍在進(jìn)行中,模板的舊版本可以進(jìn)入緩存與新版本的時(shí)間戳,因此它不是后重新加載配置更新延遲。

  修正: log_template_exceptions設(shè)置(添加到2.3.22)無法通過 Configurable.setSetting(String, String)API。

  缺陷修正: StringUtil.FTLStringLiteralEnc逃走了 $(因此產(chǎn)生非法逃逸),并沒有逃脫了 {后 $和 #。而這個(gè)函數(shù)僅用于FreeMarker產(chǎn)生錯(cuò)誤消息,這是一個(gè)公共方法,所以任何人都可以使用它。

  bug修復(fù):各種規(guī)范形式故障(他們只影響錯(cuò)誤消息FreeMarker而言)。

freemarker.jar 2.3.20 官方版

  其他的變化

  現(xiàn)代化的手冊(cè)和網(wǎng)站設(shè)計(jì)與改進(jìn)功能(總是可見的導(dǎo)航樹,搜索在手冊(cè),等等),由于Evangelia Dendramis。(現(xiàn)在也該網(wǎng)站使用相同的格式和HTML發(fā)電機(jī)手冊(cè)。)

  許多小手冊(cè)和網(wǎng)站內(nèi)容更新/改進(jìn)。

  筆記

  變化2.3.23 RC1相比:

  .current_name_name和 .main_template_name現(xiàn)在缺失的(null)而不是 ""如果模板沒有名字

  改進(jìn)一些小錯(cuò)誤消息

  文檔細(xì)化

常見問題

  Apache FreeMarker)是什么?

  Apache FreeMarker模板引擎:Java庫來生成文本輸出(HTML網(wǎng)頁,電子郵件,配置文件,源代碼,等等)基于模板和變化的數(shù)據(jù)。模板都寫在FreeMarker模板語言(FTL),這是一個(gè)簡(jiǎn)單的、專門的語言(不是一個(gè)成熟的編程語言(比如PHP)。你要準(zhǔn)備的數(shù)據(jù)顯示在一個(gè)真正的編程語言,就像數(shù)據(jù)庫查詢和做生意的計(jì)算問題,然后模板已經(jīng)準(zhǔn)備好的數(shù)據(jù)的顯示。模板中你關(guān)注如何呈現(xiàn)數(shù)據(jù),和外部的模板你關(guān)注哪些數(shù)據(jù)。

freemarker.jar 2.3.20 官方版

  這種方法通常被稱為MVC(模型-視圖-控制器)模式,并為動(dòng)態(tài)網(wǎng)頁特別受歡迎。它有助于分離網(wǎng)頁設(shè)計(jì)師(HTML作者)從開發(fā)者(Java程序員通常)。在模板設(shè)計(jì)者不會(huì)面臨復(fù)雜的邏輯,可以改變頁面的外觀無需程序員修改或重新編譯代碼。

  FreeMarker最初創(chuàng)建時(shí)生成HTML頁面在MVC web應(yīng)用程序框架,它不是綁定到servlet或東西的HTML或之上。它的非web應(yīng)用程序環(huán)境中使用。

下載地址

查看所有評(píng)論>>網(wǎng)友評(píng)論0

發(fā)表評(píng)論

您的評(píng)論需要經(jīng)過審核才能顯示

精彩評(píng)論

最新評(píng)論

蓋樓回復(fù)X

(您的評(píng)論需要經(jīng)過審核才能顯示)