FreeMarker 2:FreeMarker jarパッケージをダウンロードする方法とそれをプロジェクトに導入する方法; FreeMarkerの小さな例(ケースはJavaプロジェクトであり、Webプロジェクトではありません)。

FreeMarkerの基本的な使用法。重要なことは、Freemarkerを使用する3つのステップを使用することです。

ftlファイルはスクリプトです! 

目次

1つ:FreeMarkerをダウンロードしてインストールする方法:

2:freeMarkerの導入方法; FreeMarkerEditorエディタープラグインのインストール;

1. Freemarkerを導入します:

2. FreeMarkerEditorエディタープラグインのインストール

3:FreeMarkerの実際のコーディングの小さな例


1つ:FreeMarkerをダウンロードしてインストールする方法:

訪問:https://freemarker.apache.org/ ; FreeMarkerのは、Apacheが提供するオープンソースプロジェクトです。

FreeMarkerをインストールする方法は2つあります。(1)jarパッケージを手動でダウンロードする最初の方法。(2)Mavenを使用する方法。


2:freeMarkerの導入方法; FreeMarkerEditorエディタープラグインのインストール;

1. Freemarkerを導入します:

2. FreeMarkerEditorエディタープラグインのインストール

推奨インストール:JBoss Tools1.5のFreeMarkerIDE

 

これまでのところ、すべての準備ができています。


3:FreeMarkerの実際のコーディングの小さな例

FreeMarkerSample1コンテンツ:出力用のテンプレートと組み合わせてFreeMarkerを使用します。

(1)Freemarkerの操作は、テンプレートのロード、データの作成、出力の生成の3つのステップに分かれています

package com.imooc.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 {
		// TODO Auto-generated method stub
		// 1.加载模板
		// Configuration对象是FreeMarker的核心配置对象
		// 1.1创建核心配置对象
		Configuration config = new Configuration(Configuration.VERSION_2_3_31);// 因为我们下载的freemarker版本为2.3.31;所以这儿构造参数为2_3_31;
		// 1.2设置加载的目录;    这儿的意思:在FreeMarkerSample1这个类所在包中去加载指定的ftl文件;第二个参数传递一个空字符串代表是当前包;
		config.setClassForTemplateLoading(FreeMarkerSample1.class, "");
		// 1.3得到模板对象;;;; 以为1.2中设置了,只去扫描FreeMarkerSample1这个类所在包中的ftl,所以1.3这一步getTemplate()参数只需要指定ftl文件名字就可以了;
		Template t = config.getTemplate("sample1.ftl");
		// 2.创建数据 ;;;;;对于Freemaker来说,其数据就是一个Map类型的对象;
		// Map用来包含需要向模板中传入的数据
		Map<String,Object> dataMap = new HashMap<String,Object>();
		dataMap.put("site", "百度");
		dataMap.put("url", "http://www.baidu.com/");
		// 3.产生输出;;;这个输出,可以向文件输入,可以向控制台输出,可以向网络流中输出;向什么地方输出,取决于使用哪种类型的输出对象;
		t.process(dataMap, new OutputStreamWriter(System.out)); 
		// System.out:是向控制台输出的核心对象;System.out这个对象本质是一个PrintStream类型的对象,而process()方法的第二个参数需要是Writer类型的对象,所以使用new OutputStreamWriter(System.out),转换一下;
		
	}

}

次に、次のコンテンツがsample1.ftlに書き込まれると:

${site}-${url}

現時点では、FreeMarkerSample1を実行した場合の出力は次のとおりです。

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

……………………………………………………

次に、次のコンテンツがsample1.ftlに書き込まれると:

${site}~~~${url}

現時点では、FreeMarkerSample1を実行した場合の出力は次のとおりです。

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

上記の例から、1つのことがわかります。背景部分はコードを書き込んでデータを準備するだけで、データがフォアグラウンドでどのように表示されるかは気にしません。

ftlファイルは、データの表示方法を担当します。

これは、データと表示の分離を反映しているようです。作業の分離、「前面と背面」の作業の分離、当然、プロジェクトの全体的な効率を向上させることができます。

だから、何を追加するのですか?

他の例が必要です、深化を続けてください~~~

おすすめ

転載: blog.csdn.net/csucsgoat/article/details/114593074