首页天道酬勤freemarker常用标签,freemarker生成静态页面

freemarker常用标签,freemarker生成静态页面

张世龙 05-12 18:45 48次浏览

什么是FreeMarker?

FreeMarker是一个模板引擎,是一个用于生成/输出文本的基于开源模板的通用工具。

它不是面向最终用户的,也不是web APP应用程序框架。 它是Java类库,是web APP应用程序框架中的实用组件,是可以集成到开发产品中的APP应用程序。

FreeMarker专门设计为使用实现MVC方案的servlet APP应用程序生成HTML页面。

通过使用MVC模式的动态网页创意,可以将前端设计从程序中分离出来,实现符合java各部门职责的编程思想,代码简洁,维护方便。

FreeMarker也有编程能力,但不是像PHP那样的综合编程语言。

通常,使用FreeMarker模板生成文本以表示已经提供的数据。 只需生成文本,也适用于开发web APP应用程序以外的环境。

值得注意的是,使用FreeMarker作为视图层组件是为了为模型2框架(如Struts )提供现成的解决方案,页面响应速度已经在一定程度上提高了。

2.FreeMaker角色:页面静态化

a ) JavaEEWeb开发存在问题:用动态web技术创建的网页相率较低,需要将这些动态网页转换为静态网页,节约程序运行时间

b )静态化一个系统中的所有网页吗? 哪些页面需要静态化?

[1]否,因为在一个页面静态化后,所有写入操作都会引起巨大的资源调动,浪费更多的资源

所以我们只对修正概率低或者不修正的页面进行静态化。

[2]例:电子书、商品详细信息.

c ) CMS系统(内容管理器系统)是静态化动态页面

d )页面静态化原理:

3.FreeMaker的第一个程序:

在pom文件中引入freemaker插件。 地址为:http://mvn repository.com/artifact/org.freemarker/freemarker

a )编码

ftl (模板由html标记和freemaker表达式组成)。

htmlbodyh1${name}/h1/body/html守护程序:

//1获取freemaker配置信息配置CFG=新配置('配置文件路径'); //freemarker.template.configuration; //2角色这是ftl文件夹的位置CFG.setdirectoryfortemplateloading (new file )“文件夹路径”); 为//3ftl文件设置字符集代码CFG.set default编码(utf-8 )。 //4获取相应的使用模板templatetemmplate=CFG.get template ('文件名. ftl ' ); //5配置模板所需的动态数据调用服务----daomaproot=new hashmap (root.put (' name )、' yongqi_wang ); //6io流输出外流writer out=new filewriter (new file ) "生成静态页面后的存储路径/文件名. html " "; template.process(root,out ); out.flush (; out.close (; 4.FreeMaker模板标记

a )展示个别数据

(1)偏差变量: Map格式

${key}

)2)对象形式: key .属性名称

${user.id}

${user.name} b )有条件展示数据key=='值'/key .属性=='值'

#if name=='yongqi_wang'h1正确的h1#elseh1错误/h1/#ifc (显示多个数据

/** List集合user的创建过程包括两个属性ListUser users=ArrayListUser ():id和name; users.add (用户; Map root=new HashMap (; root.put('us ',users ); */# listusasitem $ { item.id } $ { item.name } # list/* * map集合Map m=new HashMap (; m.put('name )、' yongqi_wang ); Map root=new HashMap (; root.put('MP ',m ); */#list mp? 确定keysaskey//map中是否存在key的key${mp[key]}/#listd日期类型的处理

/**Map root=new HashMap (); root.put('Cdate ',new Date ) ); */${cdate? date}//年月日${cdate? datetime}//年月日时分秒${cdate? time}//时分秒${cdate? 字符串(yyyy/mm/DD ) ) /指定日期格式e ) null值的转换

/**Map root=new HashMap (); root.put('name ',null ); */${name! '如果不对默认值' }//null值添加默认值,则会发生错误,空字符串//null值会发生错误。 expressionnameisundeflnadonline ...空值的判断#if name? 非空#else为空/#iff ) #include '其他页面路径'//包含其他页面

如果知道其他的标量和容器等的话,就知道不是什么特别的东西,是稍微不同的称呼

标量可以理解为java的变量类型。 可以是字符串、数字类型(不区分整数和浮点数)、布尔值或日期类型

容器:

哈希表:类似于java的HashMap以key-value的形式存储几个元素是无序的

序列:类似于java中的ArrayList。 使用类似数组的实现方法在脚本中存储,但存储的元素类型可以不匹配

集:在模板设计者看来,集是一个有限制的序列。 虽然无法获取集的大小或从索引中检索集内的子变量,但可以使用list命令进行遍历。

基本语法已经介绍到这里了,如果您真的想了解有关FreeMarker的信息和深层原理,可以从以下网站获取资源,也可以直接通过FreeMarker官方自行查看:

如果觉得写比较好的话,就称赞一下哦~!

链接: https://pan.Baidu.com/s/1 wxubddda2qoukgqpzhjtnq密码: msva以下是链接文档的浏览目录内容

Springboot注解,freemarker常用标签 分数加减法怎么算,freemarker常用标签