Java FreeMarker学习

本文档详细介绍了Java FreeMarker模板引擎的使用,从前期准备到个人实现步骤,包括配置文件、实体对象、指令使用、内建函数、宏的运用,以及web.xml配置。特别强调了加载模板的方式、Configuration对象的初始化和管理,以及避免编码不一致导致的乱码问题。
摘要由CSDN通过智能技术生成

一、前期准备

官方中文文档:http://freemarker.foofun.cn/ref_directive_ftl.html

官方英文文档:https://freemarker.apache.org/docs/dgui_quickstart.html

二、个人实现

在webapp下新建文件夹templates;ftl,html都放在这里

pom.xml依赖

<dependency>
	<groupId>org.freemarker</groupId>
	<artifactId>freemarker</artifactId>
	<version>2.3.28</version>
</dependency>

1,实体对象

package com.entity;

public class Person {

	private String name;
	private int height;
	private int sex;
	
	public String getStr() {
		return "Person 无参函数";
	}
	
	public String getHello(String name) {
		return "Hello,my friend " + name;
	}
	
	// Getters And Setters
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getHeight() {
		return height;
	}
	public void setHeight(int height) {
		this.height = height;
	}
	public int getSex() {
		return sex;
	}
	public void setSex(int sex) {
		this.sex = sex;
	}
	
	
}

2,freemark配置信息

package com.cfg;

import freemarker.template.Configuration;

/**
 * 用于获取freemark配置信息
 *
 */
public class FMConfig {

	private static Configuration configuration;
	
	public FMConfig() {}
	
	public static Configuration getConfiguration() {
		return configuration;
	}
}

3,web监听器

package com.listener;

import java.lang.reflect.Field;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

import com.cfg.FMConfig;

import freemarker.template.Configuration;

/**
 * web启动监听器
 */
public class WebInitListener implements ServletContextListener {

	/**
	 * web销毁
	 */
	@Override
	public void contextDestroyed(ServletContextEvent event) {
		// TODO Auto-generated method stub

	}

	/**
	 * web初始化
	 */
	@Override
	public void contextInitialized(ServletContextEvent event) {
		// 初始化freemark配置信息
		initFreeMarkConfig(event.getServletContext());
	}

	/**
	 * 初始化freemark配置信息
	 * 
	 * @param servletContext
	 */
	private void initFreeMarkConfig(Object servletContext) {
		try {
			// 设置FreeMark配置信息
			Configuration configuration = new Configuration(Configuration.VERSION_2_3_0);
			configuration.setDefaultEncoding("UTF-8"); // 设置默认编码
			co
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值