首页 > 其他分享 >[Freemarker基础]-- 标签库说明

[Freemarker基础]-- 标签库说明

时间:2023-01-02 22:00:56浏览次数:58  
标签:字符 FreeMarker Freemarker -- 标签 HTML 节点 模板


​A​​​  | ​​B​​​  | ​​C​​​  | ​​D​​​  | ​​E​​​  | ​​F​​​  | ​​H​​​  | ​​L​​​  | ​​M​​​  | ​​O​​​  | ​​P​​​  | ​​R​​​  | ​​S​​​  | ​​T​​​  | ​​U​​​  | ​​W​​​  | ​​X​

属性

关于​​XML​​​或HTML(或通常为​​SGML​​​),属性是与元素相关联的命名值。例如,在 ,属性是和 。左侧 是属性的名称,右侧是属性的值。请注意,在XML中,值必须引用(例如:),而在HTML中,这些值对于某些值是可选的。​​<body bgcolor=black text=green>...</body>​​​​bgcolor=black​​​​text=green​​​​=​​​​<body bgcolor="black" text='green'>​

另请参见 ​​开始标签​

布尔

这是一个变量类型。布尔变量表示逻辑的真或假(是或否)。例如,如果访客已经登录。只有两个可能的布尔值: ​​true​​​和​​false​​​。通常,当您要根据某些条件显示文本时,您将使用带有指令的布尔值,例如,仅对已登录的访问者显示页面的某一部分。​​<#if ...>​

字符

人们以书面形式使用的象征。字母示例:拉丁字母A(“A”),拉丁字母A(“a”),数字四(“4”),数字符号(“#”),冒号(“:”)

字符集

字符集是用于将字符序列(文本)​​变换​​为比特序列(或实际上将字节序列转换为字节序列)的规则(算法 )。只要字符序列存储在数字媒体上,或通过数字通道(网络)发送,则必须应用字符集。字符集的示例有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中,这最好可视化为一棵树。

指示

FreeMarker在​​FTL ​​​​模板中​​​使用的​​说明​​​。它们由​​FTL标签​​调用。

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

元件

元素是​​SGML​​文档中最基本的构件; SGML文档基本上是一个元素树。HTML中使用的元素示例:body,head,title,p,h1,h2。

结束标记

​标签​​​,表示以下内容不在元素下。示例: ​​</body>​​。

另请参见 ​​开始标签​

环境

一个​​Environment​​​对象存储一个模板的运行状态​​模板处理工作​​​。也就是说,对于每个 调用,将创建一个实例,然后在返回时被丢弃。此对象存储由模板创建的一组临时变量,由模板设置的设置值,对数据模型根的引用等。完成模板处理作业所需的所有内容。​​Template.process(...)​​​​Environment​​​​process​

可扩展标记语言

​SGML的​​子集(受限版本)。这不如SGML强大,但它更容易学习,更容易处理程序。如果您是HTML作者:XML文档与HTML文档类似,但XML标准未指定可用元素。XML是比HTML更通用的东西。例如,您可以使用XML来描述网页(如HTML)或描述电话簿数据库等非可视信息。

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

FreeMarker模板语言

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

FTL

请参阅 ​​FreeMarker模板语言​

FTL标签

用于在 ​​FTL ​​​​模板​​​中调用FreeMarker ​​伪指令的​​​类​​Tag​​​文本片段。这些类似于HTML或XML标签乍一看。最显着的区别是,标签名称就开始或 。另一个重要的区别是FTL标签不使用​​属性​​​,而是用来指定参数的语法。FTL标签的例子:, , ​​#​​​​@​​​​<#if newUser>​​​​</#if>​​​​<@menuitem title="Projects" link="projects.html"/>​

全资格名称

...节点(XML节点或其他FTL节点变量):节点的全限定名称不仅指定节点名(​​node?node_name​​​),而且还指定节点名称空间(​​node?node_namespace​​​),这样它明确地标识某种节点。全限定名称的格式为 ​​nodeName​​​或 。该前缀是标识节点命名空间的简写(一个节点命名空间通常用一个长的丑陋的URI来指定)。在FTL中,前缀与指令参数与节点名称 空间​​相关​​​​ 联​​​。在XML文件中,前缀与具有属性的节点名称空间相关 联。 缺少前缀意味着如果定义了默认节点命名空间,节点将使用默认节点命名空间; 否则这意味着该节点不属于任何节点命名空间。默认节点命名空间在FTL中通过将保留前缀与该指令的参数进行注册来定义。在XML文件中,它用属性定义。​​prefix:nodeName​​​​ns_prefixes​​​​ftl​​​​xmlns:prefix​​​​D​​​​ns_prefixes​​​​ftl​​​​xmlns​

... Java类:Java类的全限定名称同时包含类名和类所属的包的名称。这样,它明确地指定了类,而不管上下文。一个完整的类名的例子​​java.util.Map​​​:(而不是 ​​Map​​)。

函数定义体

和 之间的模板片段。当您调用函数(例如)时,将执行此模板片段 。​​<#function ...>​​​​</#function>​​​​myFuction(1, 2)​

哈希

作为容器的变量,用于存储可以通过查找名称的字符串检索的子变量。

另请参见 ​​序列​

越线

换行符是一种特殊字符(或一系列特殊字符),当您以纯文本方式看到文本时(例如,当您使用Windows记事本读取文本时)会导致换行。通常通过按ENTER或RETURN键键入该字符。换行符在不同的平台上用不同的字符表示(导致不兼容和混淆...):UNIX-es上的“换行符”,Macintosh上的“回车”字符,“回车”+“换行符”两个字符!)在Windows和DOS上。请注意,在浏览器中查看时,HTML中的换行符不具有视觉效果; 你必须使用这样的标记​​<BR>​​​。本手册从不意味着​​<BR>​​当它说“

宏定义体

和 之间的模板片段。当您调用宏(例如)时,将执行此模板片段 。​​<#macro ...>​​​​</#macro>​​​​<@myMacro/>​

标记输出值

带有FTL类型“标记输出”的值。这种类型与​​自动转义机制有关​​​ ; 你可以​​在那里阅读这个类型​​。但简而言之,这是一种存储已经以输出标记格式(如HTML,XML,RTF等)的文本的值,因此不能自动转义。

方法

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

MVC模式

MVC代表模型视图控制器。这是一个设计模式,从70年代开始,作为Smalltalk的Trygve Reenskaug的框架开发人员,并被用于UI(用户界面)。MVC考虑三个角色:

  • 型号:Model以非视觉方式表示应用程序(域)特定信息。例如,计算机内存中的一系列产品对象是模型的一部分。
  • 视图:视图显示模型并提供UI。例如,视图组件的任务是将产品对象数组呈现到HTML页面。
  • 控制器:控制器处理用户输入,修改模型,并确保视图在需要时更新。例如,控制器的任务是接收传入的HTTP请求,解析接收到的参数(表单),将请求发送到正确的业务逻辑对象,并为HTTP响应选择合适的模板。

对Web应用程序应用MVC最重要的是将View与其他两个角色分离开来。这使得设计人员(HTML作者)与程序员分离。设计人员处理视觉方面,程序员处理应用逻辑等技术问题; 每个人都以他所擅长的工作。设计师和程序员彼此之间的依赖性较弱。没有程序员必须更改或重新编译程序,设计人员可以改变外观。

有关更多信息,我建议您使用J2EE平台蓝图阅读​​第4.4章设计​​企业应用程序。

输出编码

意味着输出​​字符集​​。在Java世界中,术语“编码”通常(mis)被用作字符集的同义词。

解析时错误

在模板解析阶段发生错误,而不是后面的模板执行阶段(参见下面的更多解释)。存在这样的错误可以防止整个模板的执行,即使执行不会使用错误的部分。这被认为是一个优势,因为它早期(在部署之前,理想的编辑器)错误检测。

FreeMarker模板分两个阶段进行处理。首先 ,语法分析整个模板,这被称为解析。解析的结果是一个 ​​Template​​​Java对象,它通常被缓存以便快速重用。之后,已经解析的模板可以无限制执行,以便根据​​数据模型​​的内容产生输出。解析过程中发生的错误称为解析时错误。

预定义指令

指令由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的一个子集(限制版本)。

另请参阅可 ​​扩展标记语言​

起始标签

​标签​​​,表示以下内容在元素下,直到​​最终标签​​​。起始标签也可指定​​属性​​​的元素。开始标记的示例:​​<body bgcolor=black>​

诸如“m”,“o”,“u”,“s”,“e” 的​​字符​​序列。

标签

指示SGML中元素使用的文本片段。标签的例子:​​<body bgcolor=black>​​​, ​​</body>​

另请参见 ​​开始标签​​​, ​​结束标签​

模板

模板是一个文本文件,其中嵌入了一些特殊字符序列。模板处理器(例如FreeMarker)将解释特殊字符序列,并且从原始文本文件输出或多或少的不同文本,其中差异通常基于​​数据模型​​。因此,原始文本作为可能输出的模板。

模板编码

表示模板​​字符集​​。在Java世界中,术语“编码”通常(mis)被用作字符集的同义词。

模板处理作业

模板处理作业是FreeMarker将主(顶层)模板与数据模型合并以产生输出的过程。因为模板可以​​include​​​和 ​​import​​​其他模板,这可能涉及到多个模板的处理,但是这些模板都将属于与主模板处理相同的模板处理作业。模板处理工作只有等到主模板的加工完成后存在了很短的时间,然后将其与过程中产生的所有变量(与创建的变量消失​​assign​​​, ​​macro​​​,​​global​​等指令)。

线程安全

一个对象是线程安全的,如果可以安全地从多个线程调用它的方法,甚至是并行的(即多个线程同时执行对象的方法)。在这种情况下,非线程安全的对象可能会出现不可预测的情况,并产生错误的结果,损坏的内部数据结构等。线程安全性通常以两种方式与Java实现:使用 ​​synchronized​​​语句(或 ​​synchronized​​方法)以及不可变的封装数据(即您创建对象后无法修改该字段)。

转变

该术语是指用户定义的指令,它们已经被​​TemplateTransformModel​​实现为现在已经过时的Java接口。该功能最初是用于实现输出过滤器,因此名称。

UCS

这是国际标准(ISO-10646),它定义了一组巨大的​​字符​​,并为每个字符分配一个唯一的数字(“!”是33,...,“A”是61,“B”是62,... ,阿拉伯字母hamza是1569 ...等等)。这个字符集(不是字符集)包含几乎所有今天使用的字符(拉丁字母,西里尔字母,中文字母等)。UCS背后的想法是我们可以使用唯一的数字来指定任何字符,而不是指定平台或语言是什么。

另请参见 ​​Unicode​

统一

由Unicode组织开发的事实上的标准。它处理​​UCS​​中的字符的分类(它是字母,数字,大写,小写等),以及处理从UCS的字符(例如标准化)构成的文本的其他问题。

用户定义的指令

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

另请参阅 ​​预定义指令​

空白

完全透明但影响文字视觉外观的字符。空白字符的示例:空格,制表符(水平和垂直),换行符(CR和LF),表单Feed。

请参阅 ​​换行符​

XML

        请参阅 ​​可扩展标记语言​

 


标签:字符,FreeMarker,Freemarker,--,标签,HTML,节点,模板
From: https://blog.51cto.com/u_13966077/5984238

相关文章

  • Java开发的党员管理系统党员会议系统党务管理系统
    简介Java开发的大学生党员管理系统,主要功能会议,会议记录,会议主持,设置参会人员,请假申请,会议内容附件上传下载,党费管理,入党积极分子预备党员管理,人员变动,入党,表现评价等。主......
  • magento 数据结构分析
    1  首页启动——————————————————————————————————————————————————1QuerySETSQL_MODE=''1QuerySE......
  • Java同学录系统同学录网站
    简介用户注册可以创建班级(创建者即为群主),用户也可以查找班级申请加入,群主添加同学的联系方式等,可以在班级里留言,管理相册等,还可以指定其他人为群主或者解散班级群,群里的用......
  • Java人脸识别相册分类按时间分类相册按城市分类相册app源码
    简介后台Java,前台mui开发的androidapp;主要是按拍摄时间,人脸,城市进行相册照片的分类。演示视频https://www.bilibili.com/video/BV1XP4y187rA/?share_source=copy_web&v......
  • [Spark基础]-- spark submmit大会(2017年6月5日 - 7日)
    SparkSummit(2017年6月5日-7日,旧金山)议程发布 1、官方:​​http://spark.apache.org/news/spark-summit-june-2017-agenda-posted.html​​2、议程:​​https://spark-summ......
  • java开发的美食菜谱网
    简介Java开发美食菜谱分享网站,健康专题分享,菜谱网源码。用户可以发布菜谱,可以评论,可以发布关于健康饮食的文章,还可以查看自己的主页。管理员可以管理所有的数据,审核数据。......
  • 【数学建模入门】TOPSIS法
    TOPSIS法背景知识TOPSIS法(TechniqueforOrderPreferencebySimilaritytoIdealSolution)可翻译为逼近理想解排序法,国内常简称为优劣解距离法与层次分析法相比,topsi......
  • Web APIs 简介
    WebAPIs简介目录WebAPIs简介1.WebAPIs和JS基础关联性1.1JS的组成1.2JS基础阶段以及WebAPIs阶段2.API和WebAPI2.2WebAPI学习目标:WebAPIs和JS......
  • 1.2复习了一下MySQL的索引
    今天又复习了一下索引,做一个总结吧主要就是复习了索引分类概念,索引使用,SQL优化等三个方面1.主键索引,唯一索引,常规索引;对于唯一索引,同一个表中可以创建多个,用作创建唯一......
  • dremio ClassPathScanner 简单说明
    ClassPathScanner实际上是dremio基于配置+约定的类扫描处理,为了性能同时使用了开源的reflections工具包约定主要扫描包含以下约定key的类或者包/**Confi......