Java框架(十六)之FreeMarker

一、简介

1、FreeMarker是一款模板引擎
即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。
2、FreeMarker是免费的
基于Apache许可证2.0版本发布。其模板编写为FreeMarker Template Language(FTL),属于简单、专用的语言。需要准备数据在真实编程语言中来显示,比如数据库查询和业务运算,之后模板显示已经准备好的数据。在模板中,主要用于如何展现数据, 而在模板之外注意于要展示什么数据。展示数据
3.FreeMarker是一款展示数据的模板
其模板代码在.ftl(FreeMarker TemplateLanguage)文件中编写,属于简单、专用的语言。ftl———html

二、使用引入

1、需要在xml进行ftl解析配置

  	<!-- freemarker的配置 -->
     	<bean id="freemarkerConfigurer"
		class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
			<!-- 前缀  文件的目录 -->
		<property name="templateLoaderPath" value="/WEB-INF/ftl/" />
		<property name="defaultEncoding" value="UTF-8" />
         <!--  <property name="freemarkerSettings">
          <props>
				<prop key="template_update_delay">10</prop>
				<prop key="locale">zh_CN</prop>
				<prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
				<prop key="date_format">yyyy-MM-dd</prop>
				<prop key="time_format">HH:mm:ss</prop>
				<prop key="number_format">#.##</prop>
			</props>
         </property> -->
	</bean>
     	<!-- freemaker的视图解析器 -->
    <!-- 配置FreeMark视图 -->
	<bean id="freeMarkerViewResolver"
		class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
		<property name="contentType" value="text/html;charset=UTF-8" />
		<!-- 后缀 -->
		<property name="suffix" value=".html" />
<!--         <property name="requestContextAttribute" value="request" />
 -->	</bean> 	

2、使用ftl模板语句时需要在.ftl文件中

三、语法

1. if else 语句
if语句:<#if boolean表达式> </#if>
(1)判断后端返回的Java对象是否为空(null):<#if Java对象或者属性??> 执行代码 </#if>
说明:Java对象可以是集合、普通Java类或者属性。
(2)判断集合size:<#if 集合对象?size == 0> 执行代码 </#if>
(3)判断值相等:<#if 属性变量 == 2> 执行代码 </#if>
2、if else 语句:<#if orgList?size == 0> 执行代码 <#else> 执行代码 </#if>
2.循环语句
集合遍历:

  <#list userList as index>
    </#list>

范围内遍历:
示例:<#list startPage..endPage as index> </#list>

3.输出展示
输出后台返回的普通字符串或者数值:

<#if 变量名??>${变量名}</#if>

示例:<#if total??>${total}</#if>
输出后台返回的对象属性:

<#if 对象名.对象属性??>${对象名.对象属性}</#if>

示例::<#if org.orgName??>KaTeX parse error: Expected 'EOF', got '#' at position 16: {org.orgName}</#̲if> 时间输出: 示例:`<…{org.createdDate?string(“yyyy-MM-dd HH:mm:ss”)}</#if>`
4.包含

<#include "commons/header.html">

5.注解

<#-- freemarker的注释
	使用freemarker包含另一个页面
  -->
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值