java freemarker_【JavaWeb】FreeMarker快速入门

FreeMarker

Freemarker是免费开源的模板引擎技术;

Freemarker脚本为Freemarker Template Language;

Freemarker提供了大量内建函数来简化开发;

JSP与Freemarker

JSP

Freemarker

官方标准

执行方式

编译型

解释型

执行效率

开发效率

扩展能力

数据提取

JSTL+EL

内置标签

FreeMarker基本用法

FreemarkerSample1.java

package freemarker;

import java.io.IOException;

import java.io.OutputStreamWriter;

import java.util.HashMap;

import java.util.Map;

import freemarker.core.ParseException;

import freemarker.template.Configuration;

import freemarker.template.MalformedTemplateNameException;

import freemarker.template.Template;

import freemarker.template.TemplateException;

import freemarker.template.TemplateNotFoundException;

public class FreemarkerSample1 {

public static void main(String[] args) throws TemplateNotFoundException, MalformedTemplateNameException,

ParseException, IOException, TemplateException {

// 1.加载模板

// 创建核心配置对象

Configuration config = new Configuration(Configuration.VERSION_2_3_28);

// 设置加载的目录

config.setClassForTemplateLoading(FreemarkerSample1.class, ""); // ""代表当前包

// 得到模板对象

Template t = config.getTemplate("sample1.ftl");

// 2.创建数据

Map data = new HashMap<>();

data.put("site", "百度");

data.put("url", "http://www.baidu.com");

// 3.产生输出

t.process(data, new OutputStreamWriter(System.out));

}

}

sample1.ftl

${site}-${url}

控制台输出

百度-http://www.baidu.com

FTL取值

${属性名} 取值,可对属性进行计算

${属性名!默认值} 如果属性不存在的话使用默认值

${属性名?string("")} 格式化输出

分支判断

我是1

我是2

#if>

我不是null

#if>

我是1

我是2

其他

#switch>

list迭代

${stu_index}-${stu.name}

#list>

${key}:${map[key]}

#list>

常用内建函数

函数名

说明

示例

lower_case/upper_case

大小写转换

"abcdefg"?upper_case

cap_first

首字母大写

"jackson"?cap_first

index_of

查找字符索引

"abcdef"?index_of("b")

length

返回字符串长度

"abcdef"?length

round/floor/ceiling

四舍五入/下取整/上取整

pi?floor

size

得到集合元素总数

students?size

first/last

获取第一个/最后一个元素

students?first

sort_by

按某个属性对集合排序

list?sort_by("time")

${(words?index_of("blood") != -1)?string("包含敏感词汇", "不包含敏感词汇")}

${words?replace("blood", "*****")}

${c.sn}-${c.price}

#list>

Freemarker与Servlet整合

配置FreemarkerServlet

web.xml

fm

index.html

index.htm

index.jsp

default.html

default.htm

default.jsp

freemarker

freemarker.ext.servlet.FreemarkerServlet

TemplatePath

/WEB-INF/ftl

freemarker

*.ftl

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值