freemarker.jar下载-freemarker.jar 2.3.20 官方版 - 河东下载站

河东软件园:绿色免费的软件下载站! 最新软件|软件分类|软件专题|软件发布

所在位置:首页 > 应用软件 > 其它应用 > freemarker.jar 2.3.20 官方版

freemarker.jar

 2.3.20 官方版
  • 软件大小:1.78 MB
  • 更新日期:2017-05-05
  • 软件语言:简体中文
  • 软件类别:其它应用
  • 软件授权:免费软件
  • 软件官网:
  • 适用平台:WinXP, Win7, Win8, Win10, WinAll
  • 软件厂商:

8.9
软件评分

本地下载文件大小:1.78 MB 高速下载需下载高速下载器,提速50%

软件介绍人气软件相关文章网友评论下载地址

为您推荐:其它应用

  freemarker.jar是款简单使用的模板引擎;它同时也是款的freemarker框架这进行工作的时候,经常需要使用到的jar包。如果您这进行freemarker框架开发的时候,缺少了这款freemarker.jar包的话,会让您的开发变得更加的困难,而且这模块和数据改变的基础上,可以快速的帮助用户进行生成电子邮件、源代码等工具,需要的朋友赶快这河东软件园将freemarker.jar下载来使用试试吧!

freemarker.jar 2.3.20 官方版

软件功能

  1、通用目标

  能够生成各种文本:HTML、XML、RTF、Java源代码等等

  易于嵌入到你的产品中:轻量级;不需要Servlet环境

  插件式模板载入器:可以从任何源载入模板,如本地文件、数据库等等

  你可以按你所需生成文本:保存到本地文件;作为Email发送;从Web应用程序发送它返回给Web浏览器

  2、强大的模板语言

  所有常用的指令:include、if/elseif/else、循环结构

  在模板中创建和改变变量

  几乎在任何地方都可以使用复杂表达式来指定值

  命名的宏,可以具有位置参数和嵌套内容

  名字空间有助于建立和维护可重用的宏库,或者将一个大工程分成模块,而不必担心名字冲突

  输出转换块:在嵌套模板片段生成输出时,转换HTML转义、压缩、语法高亮等等;你可以定义自己的转换

  3、通用数据模型

  FreeMarker不是直接反射到Java对象,Java对象通过插件式对象封装,以变量方式在模板中显示

  你可以使用抽象(接口)方式表示对象(JavaBean、XML文档、SQL查询结果集等等),告诉模板开发者使用方法,使其不受技术细节的打扰

  4、为Web准备

  在模板语言中内建处理典型Web相关任务(如HTML转义)的结构

  能够集成到Model2 Web应用框架中作为JSP的替代

  支持JSP标记库

  为MVC模式设计:分离可视化设计和应用程序逻辑;分离页面设计员和程序员

  5、智能的国际化和本地化

  字符集智能化(内部使用UNICODE)

  数字格式本地化敏感

  日期和时间格式本地化敏感

  非US字符集可以用作标识(如变量名)

  多种不同语言的相同模板

  6、强大的XML处理能力

  <#recurse> 和<#visit>指令(2.3版本)用于递归遍历XML树

  在模板中清楚和直觉的访问XML对象模型

  开源论坛 JForum 就是使用了 FreeMarker 做为页面模板。

软件特色

  强大的模板语言:条件块、迭代、作业、字符串和算术运算和格式化,宏和函数,包括其他模板,逃避在默认情况下(可选),和许多更多

  多用途和轻量级:零依赖,任何输出格式,可以从任何地方加载模板(可插入),许多配置选项

  国际化/ localization-aware:语言环境敏感的数量和日期/时间格式,局部模板的变化。

  XML处理功能:删除XML DOM-s到数据模型的遍历,甚至以声明的方式处理它们

  通用的数据模型的:Java对象暴露在模板变量通过可插入适配器的树,这决定模板如何看待他们。

freemarker.jar 2.3.20 官方版

术语表

  属性

  在连接XMLHTML(或SGML一般),属性指定的值与元素有关。例如,在<身体背景=黑色文本=绿色>…< /身体>的属性是 bgcolor=black和 text=green。在左边的 =属性的名称,而右边是属性的值。注意,在XML中,必须引用的值(例如: 在HTML),而对于某些值是可选的。

  另请参阅开始标记

  布尔

  这是一个变量类型。一个布尔变量表示一个逻辑真或假(是或否)。例如,如果客人已经登录。只有两个可能的布尔值: true和 false。通常,您将使用一个布尔值< #如果…>指示当你想显示文本基于某些条件,说,你只显示页面的某一部分为游客登录。

  字符

  一个符号,人们在写作中使用。字符的例子:大写拉丁字母A(“A”),拉丁小写字母(A),数字四(4),数字符号(“#”),结肠(“:”)

  集合

  一个变量(结合 list指令)可以吐出一连串的变量。

  数据模型的

  东西保存的信息模板来显示(或以其他方式使用)时,模板处理程序组装(如网页)的输出。在FreeMarker这是最好的可视化为树。

  指令

  FreeMarker用于指令FTL模板。他们是调用FTL标签.

  另请参阅预定义的指令,用户定义的指令

  元素

  元素是最基本的SGML文件;一个SGML文档基本上是一个树的元素。用于HTML元素的例子:身体,头部,标题,p,h1,h2。

  结束标记

  标签,这表明以下内容不符合元素。例子: .

  另请参阅开始标记

  另请参阅标准通用标记语言

  FreeMarker模板语言

  简单的编程语言设计编写文本文件模板,特别是HTML模板。

  FTL

  看到FreeMarker模板语言

  …Java类:一个Java类的完全限定名称包含类名和包名类属于。它明确地指定了类,不管上下文。full-qualifed类名的一个例子:java.util.Map(而不是 Map).

  函数定义的身体

  模板之间的片段< #函数…>和 。这个模板片段将在您调用函数时执行(例如 myFuction(1, 2)).

  哈希

  一个变量,充当一个容器存储子变量,可以通过一个字符串检索查找名称。

  宏定义的身体

  模板之间的片段< #宏…>和 。这个模板片段将被执行时调用宏(例如 <@myMacro/>).

  标记输出值

  值与FTL类型“标记输出”。这种类型有关auto-escaping机制,你可以读到这类。但简而言之,这是一个值存储文本已经在输出标记格式(如HTML、XML、RTF等),因此不能auto-escaped。

  方法

  一个变量来计算根据你给的参数,并返回结果。

  MVC模式

  MVC代表模型-视图-控制器。这是一个设���模式开始在70年的作为一个框架开发人员通过Trygve Reenskaug Smalltalk,和主要用于UI-s(用户界面)。MVC认为三个角色:

  模型:模型表示应用程序(域)在非视觉的方式具体信息。例如,产品对象数组在你电脑的内存是模型的一部分。

  视图:视图显示了模型并提供了用户界面。例如,它的任务视图组件呈现HTML页面的产品对象的数组。

  控制器:控制器处理用户输入,修改模型,并确保在需要时更新视图。例如它的任务控制器传入的HTTP请求,解析接收到的参数(形式),调度请求适当的业务逻辑对象,并选择正确的HTTP响应的模板。

  最重要的事情对我们在应用MVC Web应用程序的视图的分离从其他两个角色。这允许设计师(HTML作者)从程序员的分离。设计师处理视觉方面,程序员处理应用程序逻辑和其他技术问题;每个人都工作在他擅长什么。设计师和程序员不互相依赖。设计师可以改变外观程序员无需修改或重新编译程序。

  我推荐阅读的更多信息4.4章设计企业应用程序的J2EE平台蓝图。

  输出编码

  意味着输出字符集。在Java世界中“编码”这个词通常(mis)用作同义词字符集。

  作为默认值错误

  一个错误发生在模板解析阶段,而不是后来的模板执行阶段(见下面有解释)。这样一个错误的存在可以防止整个模板的执行,即使执行不会用错误的一部分。这被视为一种优势,因为它有助于早期(在部署之前,理想情况下in-editor)错误检测。

  FreeMarker模板处理两个阶段。首先整个模板语法分析,这被称为解析。解析的结果 TemplateJava对象,通常缓存快速重用。后,已经解析模板可以无限次执行根据的内容生成输出数据模型的。错误发生在解析期间被称为作为默认值的错误。

  预定义的指令

  指令由FreeMarker定义,因此总是可用的。预定义指令的例子: if, list, include

  另请参阅用户定义的指令

  正则表达式

  正则表达式是一个字符串,指定一组字符串相匹配。例如,正则表达式 "fo*"匹配 "f", "fo", "foo"等。正则表达式中使用几种语言和其他工具。FreeMarker),它们的使用是一个“超级用户”选项。如果你从来没有使用过,没有必要担心不熟悉他们。正则表达式,但是如果你感兴趣你可以找到几个网页和关于他们的书。FreeMarker使用正则表达式描述的变化:http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html

  标量

  一个标量变量存储一个值。一个标量字符串或数字或日期/时间或布尔.

  序列

  一个序列是一个变量,它包含一个序列的子变量。序列的子变量是通过数值索引,索引的第一个对象是0,第二个对象的指数是1,第三个对象的索引是2,等等。

  另请参阅哈希

  SGML

  看到标准通用标记语言

  标准通用标记语言

  这是一个国际标准(ISO 8879)指定的规则创建独立于平台的标记语言。HTML是一种标记语言使用SGML创建。XML是SGML(限制版)的一个子集。

  另请参阅可扩展标记语言

  开始标记

  标签,这表明以下内容元素,下到结束标记。开始标记也可以指定属性的元素。一个开始标记的例子:

  字符串

  一个序列的字符如“m”、“o”、“u”,“s”、“e”。

  标签

  文本片段在SGML指示元素的用法。标签的例子: ,

  另请参阅开始标记,结束标记

  模板

  一个模板是一个文本文件,一些特殊的字符序列嵌入到它。模板处理程序(例如FreeMarker)将特殊字符序列和它输出一个或多或少不同的文本从原来的文本文件,其中的差异往往基于一个数据模型的。因此,原文作为模板可能的输出。

  模板编码

  意味着模板字符集。在Java世界中“编码”这个词通常(mis)用作同义词字符集。

freemarker.jar 2.3.20 官方版

  模��处理工作

  模板处理工作过程中FreeMarker合并的主要(顶级)模板数据模型的生产产量。因为模板可以 include和 import其他模板,这可能涉及到多个模板的处理,但这些都属于同一模板处理的工作,这是开始的处理主要模板。模板处理的工作只存在短时间内,直到主模板的处理完成后,然后它消失过程中创建的所有变量(变量创建 assign, macro, global等指示)。

  线程安全的

  一个对象是线程安全的,如果是安全的从多个线程调用它的方法,即使是在平行(即多个线程同时执行对象的方法)。非线程安全的���象可能行为就在这种情况下,产生错误结果,腐败的内部数据结构,等。用Java线程安全通常以两种方式实现:使用 synchronized语句(或synchronized方法),封装数据的不变性(即你不能修改字段后,您已经创建了对象)。

  变换

  这个词指的是用户定义的指示,与现在implemetned过时了 TemplateTransformModelJava接口。功能最初是为实现输出过滤器,因此得名。

  UCS

  这是国际标准(iso - 10646)定义了一个巨大的组字符分配一个惟一的编号,每个字符(“!”33岁的……,“一”是61年,“B”是62,……阿拉伯语字母哈姆萨是1569…等等)。这个字符集(不是字符集)包含今天使用几乎所有字符(拉丁字母,西里尔字母,中文信件,等等)。UCS背后的想法是,我们可以指定任何字符和一个独特的号码,无关紧要的平台或语言是什么。

  另请参阅Unicode

  Unicode

  实际标准由Unicode组织。它处理字符的分类UCS(这是字母,数字,大写,小写,等等),和其他问题的处理文本的字符UCS(如标准化)。

freemarker.jar 2.3.20 官方版

  用户定义的指令

  指令FreeMarker没有定义的核心,但由用户。这些通常是应用程序域特定指令,比如下拉菜单生成指令,HTML表单处理指令。

  另请参阅预定义的指令

  空白

  字符是完全透明的,但对文本的视觉外观的影响。空白字符的例子:空格、制表(横向和纵向),换行符(CR和低频),形成饲料。

  另请参阅换行符

  XML

  看到可扩展标记语言

包括文件

  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)收到了一些专门的便利功能,目标模板的典型任务人一次又一次。

  新 list指导孩子的指示。有 else和 items与0-length列表,处理特殊情况 sep插入分隔符之间的物品。更多细节,请参阅list指令引用中.

  新的内置函数,按照循环变量:var ?指数(不赞成var_index),var ?计数器(基于指数),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现在只):

  ++和 --:例如, <#assign counter++>相当于 <#assign counter = counter + 1>.

  +=, -=, *=, /=和 %=:例如, <#assign counter += 2>相当于 <#assign counter = counter + 2>.

  添加了 then可以使用内置的,像一元运算符:someBoolean吗?然后(whenTrue whenFalse)。就像大多数其他语言的三元运算符,只有一个参数的表达式将被评估。更多细节…

freemarker.jar 2.3.20 官方版

  添加了 switch可以使用内置的,像一个内联(表达式)switch-case-default声明:someValue吗?开关(result2 case1 result1,编写此表达式,病例2,…caseN、resultN defaultResult),在那里defaultResult可以省略(那么它将错误如果没有情况下匹配)。更多细节…

  添加驼峰式大小写支持标识符的模板语言(用户定义的名称不受影响)。例如,现在 <#noEscape>${x?upperCase}或<#setting numberFormat="0.0">或 <#ftl stripText=true>是有效的。然而,在同一个模板,FreeMarker需要你使用相同的命名约定一致的所有标识符模板语言的一部分。也可以执行相同的命约定从Java通过模板Configuration.setNamingConvention(int)。骆驼这样必然将成为未来推荐大会从一些版本,因为Java API-s用户电话模板使用。

  增加了新的特殊变量, .current_template_name和 .main_template_name。这些反对 .template_name时,它总是破碎的宏调用。新 .current_template_name总是返回模板的名称包含引用特殊变量,和 .main_template_name总是返回最顶层模板的名称。

  小错误消息的改进。,添加提示错误消息的频繁的问题someMap[someNumber]抱怨someMap不是一个字符串序列也可强迫的。

  Bug修复,激活与设置 incompatible_improvements2.3.23:还有很长的现有作为默认值规则说 #breakFTL源代码本身,必须发生嵌套在一个易碎的指令,如 #list或 #switch。这张支票可以规避 #macro或 #function像这样: <#list 1..1 as x><#macro callMeLater><#break><@callMeLater />。激活此修复后,这将被解析的时间错误。

  在Java端变化

  添加 Configuration.setNamingConvention(int)。默认情况下FreeMarker将自动检测的命名约定(遗留VS驼峰式大小写)用于标识符的模板语言的一部分,为每个单独的模板。此设置允许您执行一个命名约定。

  Configuration(实际上任何 Configurable)设置名称现在也可以用驼峰式大小写。例如,如果您正在配置FreeMarker属性文件,你可以 defaultEncoding=utf-8而不是 default_encoding=utf-8。您可以使用两个命名约定(骆驼,和传统的蛇)混合,和Configuration.setNamingConvention(int)这种行为没有影响。

  添加 Configuration.setTemplateUpdateDelayMilliseconds(long)和Configuration.getTemplateUpdateDelayMilliseconds()。这个不赞成 setTemplateUpdateDelay(int)使用秒分辨率,因此与Java约定和经常导致误解。(也不可能一对getter。)

  的 template_update_delay设置,当指定为一个字符串(如内部 java.util.Properties),支持时间单位,像template_update_delay=500 ms.

freemarker.jar 2.3.20 官方版

  添加 Environment.getCurrentTemplate()方法,该方法返回当前执行模板(相对于主要的模板)。

  添加 WebappTemplateLoader.setAttemptFileAccess(boolean),可用于禁用遗留的诀窍,我们试图加载模板通过直接文件访问,因此模板更新而不需要重新启动工作。禁用URL连接缓存(someURLBasedTemplateLoader.setURLConnectionUsesCaches(false),这也是默认的 incompatible_improvements2.3.21)可能解决现代的Servlet容器。

  在 FreemarkerServlet TemplatePath初始化路径(如 /templates)可以有一个?设置(…)后缀,可以设置的JavaBean属性产生的TemplateLoader。例如: /templates?settings(attemptFileAccess=false, URLConnectionUsesCaches=false)

  添加 FileTemplateLoader.setEmulateCaseSensitiveFileSystem(boolean)。这是非常方便的,当您正在开发Windows,但将部署到一个平台与区分大小写的文件系统。默认值是 false, true仅仅是为了发展,而不是生产设施。可以覆盖默认设置org.freemarker.emulateCaseSensitiveFileSystem系统属性, true.

  Bug修复(424年]: WebappTemplateLoader没有找到模板,存储在 WEB-INF/lib/*.jar/META-INF/resources。该目录下的文件是可见的 ServletContext资源从Servlet 3.0 WebappTemplateLoader通常没有看到他们因为一些内部技巧。

  Bug修正:如果一个模板“文件”被成功打开阅读,然后有一个 IOException在阅读其内容,解析器(JavaCC)像如果模板”文件”结束,例外是镇压。它实际上是一个JavaCC怪癖也影响许多其他JavaCC-based语言,但现在FreeMarker已经添加了一个解决方案 Template构造函数,所以现在将抛出一个异常。

  缺陷修正: InvalidReferenceException.FAST_INSTANCE可能不小心存储引用 Environment实例,因此从来没有垃圾收集。

freemarker.jar 2.3.20 官方版

  Bug修复(426年):当设置 incompatible_improvements2.3.22,特殊的变量引用 .template_name在模板的名称总是返回主模板(上面),由于2.3.22的监督。设置 incompatible_improvements2.3.23恢复旧,向后兼容的行为。(注意,我们模仿本身就是打破旧的行为,因为它不工作通过宏调用;您应该使用 .current_template_name或 .main_template_name相)。

  Bug修复(53]:模板解析异常缓慢的模板非常高的AST(抽象语法树)节点数相同层次结构的级别。

  并发Bug修复:当模板替换在后备存储器在首次加载仍在进行中,模板的旧版本可以进入缓存与新版本的时间戳,因此它不是后重新加载配置更新延迟。

  修正: log_template_exceptions设置(添加到2.3.22)无法通过 Configurable.setSetting(String, String)API。

  缺陷修正: StringUtil.FTLStringLiteralEnc逃走了 $(因此产生非法逃逸),并没有逃脱了 {后 $和 #。而这个函数仅用于FreeMarker产生错误消息,这是一个公共方法,所以任何人都可以使用它。

  bug修复:各种规范形式故障(他们只影响错误消息FreeMarker而言)。

freemarker.jar 2.3.20 官方版

  其他的变化

  现代化的手册和网站设计与改进功能(总是可见的导航树,搜索在手册,等等),由于Evangelia Dendramis。(现在也该网站使用相同的格式和HTML发电机手册。)

  许多小手册和网站内容更新/改进。

  笔记

  变化2.3.23 RC1相比:

  .current_name_name和 .main_template_name现在缺失的(null)而不是 ""如果模板没有名字

  改进一些小错误消息

  文档细化

常见问题

  Apache FreeMarker)是什么?

  Apache FreeMarker模板引擎:Java库来生成文本输出(HTML网页,电子邮件,配置文件,源代码,等等)基于模板和变化的数据。模板都写在FreeMarker模板语言(FTL),这是一个简单的、专门的语言(不是一个成熟的编程语言(比如PHP)。你要准备的数据显示在一个真正的编程语言,就像数据库查询和做生意的计算问题,然后模板已经准备好的数据的显示。模板中你关注如何呈现数据,和外部的模板你关注哪些数据。

freemarker.jar 2.3.20 官方版

  这种方法通常被称为MVC(模型-视图-控制器)模式,并为动态网页特别受欢迎。它有助于分离网页设计师(HTML作者)从开发者(Java程序员通常)。在模板设计者不会面临复杂的逻辑,可以改变页面的外观无需程序员修改或重新编译代码。

  FreeMarker最初创建时生成HTML页面在MVC web应用程序框架,它不是绑定到servlet或东西的HTML或之上。它的非web应用程序环境中使用。

下载地址

  • freemarker.jar 2.3.20 官方版

    本地高速下载

人气软件

查看所有评论>>网友评论0

发表评论

您的评论需要经过审核才能显示

精彩评论

最新评论

盖楼回复X

(您的评论需要经过审核才能显示)