欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
  FreeMarker是一款基于java的模版引擎,用于生成文本(比如HTML)。它的语法和作用和JSP类似,JSP需要依赖Servlet容器(如Tomcat),而FreeMarker只需要Java运行环境。
 
  官方网站上的这张图很形象的说明了FreeMarker的用途和工作原理:模版+数据=文本(HTML)
 
  在Jspxcms中,模版就是目录下的模版文件(后缀也是),数据来自SpringMVC Controller的或者Jspxcms自定义标签(如:)。
 
  更多资料可以参考FreeMarker官方网站的文档,FreeMarker官方还提供了FreeMarker中文文档。
 
  和JSP的EL表达式基本是一样的:,。
 
  获取Map值。获取数组值。算术运算……如:比较运算。 或者 逻辑运算。
 
  内建函数是FreeMarker的一大优势,很多在JSP里面需要通过复杂处理才能实现的功能,这里只需要用简单的内建函数就搞定了。
 
  null值处理。 。FreeMarker中输出null值会报错,如果希望对象为null时,什么都不显示且不报错,可以这样处理   (最后一种方式可以避免user对象为null导致的错误)。布尔值处理。日期处理。HTML转义……为避免直接输出 等值,导致XSS攻击,通常会对输出的值进行转义。JS转义……对js中的引号等字符进行处理,给js变量赋值是非常有用,比如。获取子串。 获取字符串长度。 获取列表大小。小写转换。大写转换。
 
  FreeMarker标签类似JSP标签。标签默认使用尖括号,在Jspxcms中为了避免和HTML标签混淆,便于在Dreamweaver中编辑,使用中括号作为标签符号。以下示例一律使用中括号。
 
  标签有两种,一种是系统自带标签,以开头;一种是自定义标签,以开头。
 
  注释标签:
 
  以InfoList标签为例说明。
 
  标签名称。用于获取文档列表的标签。参数。是参数名,是参数值。意为获取栏目代码为的文档。有时候参数不是必须的。返回值。分号后面的是返回值。是标签返回的对象。标签获取的文档列表就存放在这个对象里,这个对象的名称可以随意定义。
 
  判断是否为null:
 
  获取循环的序号 。判断是否还有下一个对象和、中的必须一致,如果,则用、。
 
  parse。布尔值,默认true。是否解析包含的模版。如果想包含一个纯文本的文件,不解析里面的内容,可以设置为false。
 
  为了避免跨站脚本攻击(XSS),通常会对输出的内容做HTML转义,比如${foo?html}。但是所有变量都要做这个转义不仅麻烦,还容易遗忘。另外FreeMarker空值处理也很麻烦且容易遗忘,比如、。
 
  使用excape标签可以很好的解决这个问题。
 
  只要被这个标签包含的代码,都相当于加上了,如相当于。即包含了空值处理,也包含了HTML转义处理。
 
  在escape标签内有对象不需要转义时,可以用noescape标签。

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h60872.shtml