FreeMarker 在JAVA控制台应用(5)

  1. 建立一个普通的java项目:HelloFreeMarker
  2. 引入freemarker.jar包
  3. 在项目目录下建立模板目录:templates
  4. 在templates目录下,建立hello.ftl模板文件,模板内容如下:

    你好啊,${user},今天你的精神不错!
  5. 在src下新建com.kj.study.freemarker包,然后建立Hello.java 文件.代码如下:

    package com.kj.study.freemarker;
    import java.io.File;
    import java.io.OutputStreamWriter;
    import java.io.Writer;
    import java.util.HashMap;
    import java.util.Map;
    import freemarker.template.Configuration;
    import freemarker.template.DefaultObjectWrapper;
    import freemarker.template.Template;
    
    public class Hello{
        public static void main(String[] args) throws Exception {
            //1.创建Freemarker配置实例
            Configuration cfg = new Configuration();
            cfg.setDirectoryForTemplateLoading(new File("templates")); 
    
            //2.创建数据模型
            Map root = new HashMap();
            root.put("user", "展翅");
    
            //3.加载模板文件
            Template t1 = cfg.getTemplate("hello.ftl");
    
            //4.显示生成的数据,//将合并后的数据打印到控制台
            Writer out = new OutputStreamWriter(System.out);
            t1.process(root, out);
            out.flush();
            //5.关闭
            out.close();     }}
时间: 2024-08-06 00:45:35

FreeMarker 在JAVA控制台应用(5)的相关文章

Java 控制台执行带自定义包定义的类,出现“Exception in thread "main" java.lang.NoClassDefFoundError: ConnectSQLServer (wrong name: sine/ConnectSQLServer)”

1.先说明一下代码实现:自定义package sine, 源代码保存路径为:E:\JSP\HibernateDemo\HibernateDemoProject\src\sine\ConnectSQLServer.java 1 package sine; 2 import java.sql.*; 3 4 public class ConnectSQLServer { 5 6 public static void main(String args[]){ 7 String url="jdbc:sql

如何用Java控制台玩2048

昨天晚上咸的,想自己做个2048试试,折腾到半夜算是有点成果,分享下,由于搞的太晚也没来得及加注释,最后也没有优化重构,就简单看下思路吧 先看个拼图的小游戏消化下 import java.io.IOException; /** * 控制台玩拼图游戏 * @author c * 码农扣扣群:2177712 */ public class Puzzle { static final int X = 3; static final int Y = 3; static int tar[][] = new

java控制台说明

java 控制台 java 控制台 c: 清除控制台窗口 f: 终结在结束队列上的对象 g: 垃圾收集 h: 显示此帮助消息 l: 转储类加载器列表 m: 打印内存使用情况 o: 触发日志记录 q: 隐藏控制台 r: 重新加载策略配置 s: 转储系统和部署属性 t: 转储线程列表 v: 转储线程堆栈 x: 清除类加载器高速缓存 0-5: 设置跟踪级别为<n>

java控制台输入Scanner、InputStreamReader、Console说明

java控制台输入 (2009-12-08 11:13:28) 转载▼ 标签: 杂谈 分类: corejava 0 引言从控制台中读取数据是一个比较常用的功能,在 JDK 5.0 以前的版本中的实现是比较复杂的,需要手工处理系统的输入流.有意思的是,从 JDK 5.0 版本开始,能从控制台中输入数据的方法每增加一个版本号,就有一种新增的方法,这也增加了选择的种类,可以依据不同的要求来进行选择.下面来看一下,各个版本中如何从控制台中读取数据以及各自的优缺点. 1 JDK 1.4 及以下版本读取的方

Java 控制台输入数字 输出乘法表(代码练习)

最近,回忆了一些刚学习Java时经常练习的一些小练习题.感觉还是蛮有趣的,在回顾时想起好多学习时的经历和坎坷,一道小小的练习题要研究半天,珍重过往,直面未来.下面贡献代码,Java 控制台输入数字 输出乘法表(代码练习).希望能给一些初学者一点点的启发.注释写的比较啰嗦,嘻嘻~ 因为博客园有要求"少于150字的随笔不允许发布到首页候选区",所以,凑几行字啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 //作者:我 //功能:九九乘法表 //时间:

Freemarker 之 Java静态化 实例一

Freemarker是一种强大的web端模板技术,在当前Web开发中,SEO和客户端浏览速度尤为重要,其中将网页静态化是一个很好的解决方案.下面介绍Java中web开发结合Freemarker来实现静态化. 主要分为三步 1 准备好模板文件,如Test.ftl <html> <head> <title>${title}</title> <style type="text/css" link="${rccontextPath

java控制台输出print和println详解

在使用java编程的过程中,控制台输出用得不少,今天我想梳理一下,print.println.printf三者的区别. 一.print 通过System.out.print方法调用,print方法的参数有很多种:boolean.char.char[].String.int.float.double.long等. print的输出末尾不换行. 1.print(boolean b) 打印boolean类型时,输出只有true和false两种.我们查看print(boolean b)的源代码,可以看到

Java 控制台输入 Scanner

1,Java 中 获取 控制台输入(System.in)的方法,一般有两种: (1) BufferedReader scin=new BufferedReader(new InputStreamReader(System.in)): (2) Java.util.Scanner scin=new Jave.util.Scanner (System.in): 2,使用Scanner 的方法: (1)是否有输入:hasNext()====>该方法是的终端一直处于等待控制台输入的状态,若自己不去控制,则

freemarker报 java.io.FileNotFoundException:及TemplateLoader使用

使用过freemarker的肯定其见过如下情况: 1 java.io.FileNotFoundException: Template xxx.ftl not found. 模板找不到.可能你会认为我明明指定了文件,并且文件存在,但是为什么就是说找不到呢? 经过研究官方的API,原来freemarker在加载模板时,建议使用TemplateLoader,通过TemplateLoader指定从哪个目录开始加载模板,并且把模板加载在缓存中. API的TemplateLoader是一个接口,他有如下几个