On this page
Glossary
A | B | C | D | E | F | H | L | M | O | P | R | S | T | U | W | X
另请参见Start-tag
-
- 这是一个变量类型。布尔变量表示逻辑上的是或否(是或否)。例如,访客是否已登录。只有两个可能的布尔值:
true
和false
。通常,当您要基于某种条件显示文本时,将使用带有<#if ...>
指令的布尔值,例如,仅向已登录的访问者显示页面的特定部分。
- 这是一个变量类型。布尔变量表示逻辑上的是或否(是或否)。例如,访客是否已登录。只有两个可能的布尔值:
-
- 人们在写作中使用的符号。字符示例:拉丁大写字母 A(“ A”),拉丁小写字母 A(“ a”),数字四(“ 4”),数字符号(“#”),冒号(“:”)
-
- 字符集是一种规则(算法),用于将characters(文本)序列转换为位序列(或实际上转换为字节序列)。每当字符序列存储在数字媒体上或通过数字通道(网络)发送时,都必须应用字符集。字符集的示例是 ISO-8859-1,ISO-8859-6,Shift_JIS 和 UTF-8.
不同字符的功能不同,也就是说,并非所有字符集都可以用于所有语言。例如,ISO-8859-1 不能代表阿拉伯字母,但是 ISO-8859-6 可以代表,但是它不能代表 ISO-8859-1 可以带重音的字母。大多数字符集对允许的字符都有严格的限制。 UTF-8 实际上允许所有可能的字符,但是大多数文本编辑器还不能处理它(2004 年)。
当不同的软件组件交换文本时(例如,HTTP 服务器和浏览器,或用于保存模板的文本编辑器,以及加载它们的 FreeMarker),它们在用于文本二进制编码的字符集中达成一致非常重要。如果没有,则二进制数据将被接收方(加载程序)组件误解,这通常会导致非英语字母的失真。
-
- 一个变量(与
list
指令一起使用)可以吐出一系列变量。
- 一个变量(与
-
- 模板处理器组合输出(例如网页)时,用于保存模板必须显示(或以其他方式使用)信息的东西。在 FreeMarker 中,最好将其可视化为树。
另请参见Predefined directive,User-defined directive
另请参见Start-tag
-
Environment
对象存储单个模板模板处理作业的运行时状态。也就是说,对于每个Template.process(...)
调用,将创建Environment
实例,然后在process
返回时将其丢弃。该对象存储由模板创建的一组临时变量,由模板设置的设置的值,对数据模型根的引用等。完成模板处理作业所需的一切。
-
- SGML的子集(受限制的版本)。它的功能不如 SGML,但更易于学习,也更易于使用程序进行处理。如果您是 HTML 作者:XML 文档与 HTML 文档相似,但是 XML 标准未指定可用元素。 XML 是比 HTML 更通用的东西。例如,您可以使用 XML 来描述网页(例如 HTML)或描述非可视信息(例如电话簿数据库)。
另请参见标准通用标记语言
-
- 一种简单的编程语言,旨在编写文本文件模板,尤其是 HTML 模板。
-
- See FreeMarker 模板语言
-
- 类似于Tag的文本片段,用于调用FTL templates中的 FreeMarker directives。乍一看,它们类似于 HTML 或 XML 标签。最突出的区别是标记名称以
#
或@
开头。另一个重要的区别是 FTL 标签不使用attributes,而是使用实质上不同的语法来指定参数。 FTL 标签的示例:<#if newUser>
,</#if>
,<@menuitem title="Projects" link="projects.html"/>
- 类似于Tag的文本片段,用于调用FTL templates中的 FreeMarker directives。乍一看,它们类似于 HTML 或 XML 标签。最突出的区别是标记名称以
-
- ...节点(XML 节点或其他 FTL 节点变量):节点的全名不仅指定节点名称(
node?node_name
),还指定节点名称空间(node?node_namespace
),这样就可以明确地标识某种类型的节点。完全限定名称的格式为nodeName
或prefix:nodeName
。前缀是标识节点名称空间的简写(通常使用长的丑陋 URI 指定节点名称空间)。在 FTL 中,前缀通过_6 的ns_prefixes
参数与节点名称空间关联。在 XML 文件中,前缀与具有xmlns:prefix
属性的节点名称空间相关联。缺少前缀意味着,如果定义了默认节点名称空间,则该节点将使用默认节点名称空间;否则,意味着该节点不属于任何节点名称空间。默认节点名称空间是在 FTL 中定义的,方法是使用ftl
指令的ns_prefixes
参数注册保留的前缀D
。在 XML 文件中,它是使用xmlns
属性定义的。
- ...节点(XML 节点或其他 FTL 节点变量):节点的全名不仅指定节点名称(
Java 类的...:Java 类的完全限定名称包含类名称和该类所属的包的名称。这样,无论上下文如何,它都可以明确指定类。完全限定的类名的示例:java.util.Map
(与Map
相对)。
-
<#function ...>
和</#function>
之间的模板片段。当您调用函数(例如myFuction(1, 2)
)时,将执行此模板片段。
-
- 充当容器的变量,该变量存储可通过作为查找名称的字符串检索的子变量。
另请参见Sequence
-
- 换行符是一种特殊字符(或一系列特殊字符),当您将文本视为纯文本时(例如,使用 Windows 记事本阅读文本时),它会导致换行。通常,您可以通过按 ENTER 或 RETURN 键来键入此字符。在不同的平台上,换行符用不同的字符表示(导致不兼容和混乱...):UNIX-es 上的“换行”字符,Macintosh 上的“回车”字符,“回车”“换行”(两个字符!)在 Windows 和 DOS 上。请注意,在浏览器中查看时,HTML 中的换行符没有视觉效果。您必须为此使用诸如
<BR>
之类的标记。当本手册说“换行符”时,绝不会表示<BR>
。
- 换行符是一种特殊字符(或一系列特殊字符),当您将文本视为纯文本时(例如,使用 Windows 记事本阅读文本时),它会导致换行。通常,您可以通过按 ENTER 或 RETURN 键来键入此字符。在不同的平台上,换行符用不同的字符表示(导致不兼容和混乱...):UNIX-es 上的“换行”字符,Macintosh 上的“回车”字符,“回车”“换行”(两个字符!)在 Windows 和 DOS 上。请注意,在浏览器中查看时,HTML 中的换行符没有视觉效果。您必须为此使用诸如
-
<#macro ...>
和</#macro>
之间的模板片段。当您调用宏(例如<@myMacro/>
)时,将执行此模板片段。
-
- FTL 类型为“标记输出”的值。此类型与auto-escaping mechanism有关;您可以在这里阅读有关此类型的信息。简而言之,这是一个值,用于存储已经采用输出标记格式的文本(例如 HTML,XML,RTF 等),因此不能自动转义。
-
- 一个变量,该变量根据您提供的参数计算出一些东西,然后返回结果。
-
- MVC 代表模型视图控制器。这是一种设计模式,始于 70 年代,最初是 Trygve Reenskaug 的 Smalltalk 框架开发人员,最初用于 UI-s(用户界面)。 MVC 考虑三个角色:
模型:模型以非可视的方式表示特定于应用程序(域)的信息。例如,计算机内存中的一系列产品对象就是模型的一部分。
视图:视图显示模型并提供 UI。例如,视图组件的任务是将产品对象的数组呈现到 HTML 页面。
控制器:控制器处理用户 Importing,修改模型并确保在需要时更新视图。例如,控制器的任务是接收传入的 HTTP 请求,解析接收到的参数(表单),将请求分派到适当的业务逻辑对象,然后为 HTTP 响应选择正确的模板。
当将 MVC 应用于 Web 应用程序时,对我们来说最重要的事情是将 View 与其他两个角色分开。这样可以将设计师(HTML 作者)与程序员分开。设计人员处理视觉方面,程序员处理应用程序逻辑和其他技术问题;每个人都致力于自己擅长的领域。设计人员和程序员之间的依赖性较小。设计人员可以更改外观,而无需程序员更改或重新编译程序。
有关更多信息,我建议阅读使用 J2EE 平台蓝图设计企业应用程序的chapter 4.4。
-
- 表示输出charset。在 Java 世界中,术语“编码”通常(误)用作 charset 的同义词。
-
- 与稍后的模板执行阶段相反,在模板解析阶段发生错误(请参见下面的更多说明)。这样的错误的存在会阻止整个模板的执行,即使执行不会使用错误所在的部分。这被视为一种优势,因为它有助于早期(在部署之前,最好是在编辑器中)错误检测。
FreeMarker 模板分为两个阶段进行处理。首先,对* whole *模板进行语法分析,这称为解析。解析的结果是一个Template
Java 对象,通常将其缓存以快速重用。以后,已经解析的模板可以无限次执行,以基于data-model的内容产生输出。解析期间发生的错误称为解析时错误。
-
- 正则表达式是一个字符串,它指定一组与之匹配的字符串。例如,正则表达式
"fo*"
匹配"f"
,"fo"
,"foo"
等。正则表达式在多种语言和其他工具中使用。在 FreeMarker 中,它们的用法是“高级用户”选项。因此,如果您以前从未使用过它们,则无需担心不熟悉它们。但是,如果您对正则表达式感兴趣,则可以找到一些有关它们的网页和书籍。 FreeMarker 使用正则表达式的变体,描述于:http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html
- 正则表达式是一个字符串,它指定一组与之匹配的字符串。例如,正则表达式
-
- 标量变量存储单个值。标量可以是字符串,数字或日期/时间或boolean。
-
- 序列是包含子变量序列的变量。可通过数字索引访问序列的子变量,其中第一个对象的索引为 0,第二个对象的索引为 1,第三个对象的索引为 2,依此类推。
另请参见Hash
另请参见可扩展标记语言
-
- Tag,指示以下内容在元素下,直到end-tag。起始标签还可以为元素指定attributes。起始标签的示例:
<body bgcolor=black>
- Tag,指示以下内容在元素下,直到end-tag。起始标签还可以为元素指定attributes。起始标签的示例:
-
- characters的序列,例如“ m”,“ o”,“ u”,“ s”,“ e”。
-
- 指示 SGML 中元素用法的文本片段。标签示例:
<body bgcolor=black>
,</body>
- 指示 SGML 中元素用法的文本片段。标签示例:
-
- 模板是一个文本文件,其中嵌入了一些特殊的字符序列。模板处理器(例如 FreeMarker)将解释特殊字符序列,并输出与原始文本文件大致不同的文本,其中差异通常基于data-model。因此,原始文本充当可能输出的模板。
-
- 表示模板charset。在 Java 世界中,术语“编码”通常(误)用作 charset 的同义词。
-
- 模板处理作业是 FreeMarker 将主(顶层)模板与数据模型合并以生成输出的过程。因为模板可以
include
和import
其他模板,所以这可能涉及多个模板的处理,但是这些模板都属于同一模板处理作业,该作业是从主模板的处理开始的。模板处理作业仅存在很短的时间,直到完成主模板的处理为止,然后该模板处理作业随过程中创建的所有变量(使用assign
,macro
,global
等指令创建的变量)消失。
- 模板处理作业是 FreeMarker 将主(顶层)模板与数据模型合并以生成输出的过程。因为模板可以
-
- 如果可以安全地从多个线程调用其方法(即使是并行执行)(即,多个线程同时执行该对象的方法),则该对象是线程安全的。非线程安全的对象在这种情况下可能会发生不可预测的行为,并产生错误的结果,破坏内部数据结构等。线程安全通常通过 Java 以两种方式实现:使用
synchronized
语句(或synchronized
方法)以及使用封装数据的不变性(即创建对象后无法修改字段)。
- 如果可以安全地从多个线程调用其方法(即使是并行执行)(即,多个线程同时执行该对象的方法),则该对象是线程安全的。非线程安全的对象在这种情况下可能会发生不可预测的行为,并产生错误的结果,破坏内部数据结构等。线程安全通常通过 Java 以两种方式实现:使用
-
- 该术语指的是用户定义的指令,这些指令通过现在已过时的
TemplateTransformModel
Java 接口实现。该功能最初是为实现输出过滤器而制作的,因此得名。
- 该术语指的是用户定义的指令,这些指令通过现在已过时的
-
- 这是国际标准(ISO-10646),它定义了一个庞大的characters集合,并为每个字符分配了唯一的数字(“!”为 33,...,“ A”为 61,“ B”为 62,... ,阿拉伯字母 hamza 是 1569 ...等)。该字符集(不是字符集)包含当今使用的几乎所有字符(拉丁字母,西里尔字母,中 Literals 母等)。 UCS 背后的想法是,我们可以指定具有唯一编号的任何字符,而不用考虑平台或语言的含义。
另请参见Unicode
-
- 事实标准,由 Unicode 组织开发。它处理UCS中字符的分类(即字母,数字,大写,小写等),以及处理由 UCS 字符制成的文本的其他问题(例如规范化)。
-
- 指令不是由 FreeMarker 核心定义的,而是由用户定义的。这些通常是特定于应用程序域的指令,例如下拉菜单生成指令,HTML 表单处理指令。
另请参见Line break
-
- See 可扩展标记语言