第一步  创建一个User.java文件 来两个变量

      public class User {
      private String userName;
 
      private String userPassword;

      //。。。这里省略set()  get()方法一定要加上;

      }

第二步  创建一个user.ftl文件 模板 先放在web目录下吧

<!DOCTYPE>  
       <html>  
        <head>  
       <meta http-equiv=Content-Type content="text/html; charset=utf-8">  
       <title>user.ftl</title>  
        </head>  
       <body>  
         ${user.userName}  
         ${user.userPassword}  
       </body>  
     </html>

第三步  创建一个FreemarkerUtil.java 工具类 

//templatePath模板文件存放路径  
        //templateName 模板文件名称  
        //fileName 生成的文件名称 
        //templateEncoding 文本HTML的编码方式

//Map<?, ?> root 储存的数据
       public class FreeMarkerUtil {
       public static void analysisTemplate(String templatePath,String                                 templateName,String fileName,String templateEncoding,                                         Map<?,?> root) {
       try {
      // 创建Configuration对象
      Configuration config=new Configuration();
      // 指定模板路径
      File file=new File(templatePath);
     //设置要解析的模板所在的目录,并加载模板文件
     config.setDirectoryForTemplateLoading(file);
     //设置包装器,并将对象包装为数据模型 
     config.setObjectWrapper(new DefaultObjectWrapper());
    //获取模板,并设置编码方式,编码必须要与页面中的编码格式一致 
   Template template =                                                                config.getTemplate(templateName,templateEncoding);
    // 合并数据模型与模板
    FileOutputStream fos = new FileOutputStream(fileName);  
    //输出到页面
    Writer out = new OutputStreamWriter(fos,templateEncoding);  
       template.process(root, out);
         out.flush();
         out.close();
     } catch (IOException e) {
           e.printStackTrace();
       } catch (TemplateException e) {
    e.printStackTrace();
     }
   }
}

第四步  创建一个Test.java 测试类

public class Test {
     public static void main(String[] args) {
     User user =new User();
     user.setUserName("测12312");
     user.setUserPassword("123");
     Map<String,Object> root=new HashMap<String,Object>();
    root.put("user", user);

String fileName="user.ftl"; 
    String templatesPath="web";  
    String htmlFile=templatesPath+"/user.html";

String templateEncoding="UTF-8";

//这里的编码方式是为了以后可能还要输入韩文或者日文等信息为了灵活//也可以在工具类中写死一种
    FreeMarkerUtil.analysisTemplate(templatesPath, fileName,                     htmlFile,templateEncoding, root);
}
}

//运行完测试类后打开那个被新建的user.html 数据已经在页面显示了

freemarker怎么把数据显示到页面中?的更多相关文章

  1. FreeMarker页面中获得contextPath

    要在ftl页面中使用contextPath,需要在viewResolver中做如下配置(红色部分): <bean id="viewResolver" class=" ...

  2. Spring MVC 学习总结(七)——FreeMarker模板引擎与动态页面静态化

    模板引擎可以让程序实现界面与数据分离,业务代码与逻辑代码的分离,这就提升了开发效率,良好的设计也使得代码复用变得更加容易.一般的模板引擎都包含一个模板解析器和一套标记语言,好的模板引擎有简洁的语法规则 ...

  3. freemarker 集成 sitemesh 装饰html页面 shiro 标签

      guest标签:验证当前用户是否为"访客",即未认证(包含未记住)的用户: shiro标签:<shiro:guest></shiro:guest>  : ...

  4. 在OAF页面中集成ECharts以及highcharts用于显示图表

    历史博文中有讲解在请求中输出基础图表的方式,见地址:EBS 请求输出Html报表集成Echarts 本文讲述在OAF中集成这两类图表. 集成的基本思路:在OAF页面中加入一个rawText组件,在ra ...

  5. 在同一页面中显示多个echart图表

    整理了一下大概有两种做法来实现在同一个页面中显示多个echart图表,废话不说直接上代码. 在同一个echart对象中绘制多个图表 <!DOCTYPE html> <html lan ...

  6. 页面中多个script块之间的关系

     一:函数声明与函数定义表达式在函数调用间的区别 <script type="text/javascript"> doA(); var doA = function(a ...

  7. 【手记】WebBrowser响应页面中的blank开新窗口及window.close关闭本窗体

    注:本文适用.net 2.0+的winform项目 目的: 点击页面中的target="_blank"链接时,弹出新窗体 页面中有window.close()操作时,关闭窗体 上述 ...

  8. 【问题】Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数

    [问题]Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数. [解决]直接对变量加引号,如: <button onclick="deleteProduct('@ ...

  9. WEB页面中常见的四种控件的必须的测试

    以下为常规的需求,除非需求有明确说明,如密码输入框中可以输入空格.   输入框 1. 为空,但页面中明确说明不能为空(带有星号或者只有这一个输入框),有以下两种情况: a. 不进行输入或者使其为空:焦 ...

随机推荐

  1. MyBatis Plus + Activiti 整合报错:org.springframework.beans.factory.UnsatisfiedDependencyException

    org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'ind ...

  2. 玩转SpringCloud(F版本) 二.服务消费者(2)feign

    上一篇博客讲解了服务消费者的ribbon+restTemplate模式的搭建,此篇文章将要讲解服务消费者feign模式的搭建,这里是为了普及知识 平时的项目中两种消费模式选择其一即可 本篇博客基于博客 ...

  3. Java变量的默认值和初始化

    Java变量的默认值和初始化 学习自 <Thinking In Java> 技术小黑屋-为什么局部变量需要显式设置初始化值 变量的默认值 注意只有成员变量才有默认值,而局部变量必须要赋初值 ...

  4. VMware vsphere Hypervisor、VMware vsphere和VMware Workstation小记

    VMware Workstation软件需要依赖于宿主操作系统之上. VMware vSphere是VMware公司推出一套服务器虚拟化解决方案,它是可以直接独立安装和运行在祼机上的系统. VMwar ...

  5. Codeforces Round #404 (Div. 2) C. Anton and Fairy Tale 二分

    C. Anton and Fairy Tale 题目连接: http://codeforces.com/contest/785/problem/C Description Anton likes to ...

  6. [翻译] 10 个实用的 Git 高级命令

    1. 输出最后一次提交的改变 这个命令,我经常使用它 来发送其他没有使用 git 的人来检查或者集成所修改的.它会输出最近提交的修改内容到一个 zip 文件中. git archive -o ../u ...

  7. 【Go命令教程】6. go doc 与 godoc

    go doc 命令可以打印附于Go语言程序 实体 上的文档.我们可以通过把程序实体的标识符作为该命令的参数来达到查看其文档的目的. 插播:所谓 Go语言的 程序实体,是指变量.常量.函数.结构体以及接 ...

  8. Android WebView加载Html右边空白问题的解决方案

    用WebView显示Html时,右边会出现一条空白区,如下图所示: 最开始的时候,认为是网页本身的空白. 后来发现网页本身无问题,且这个空白区是跟Scroll Bar 的位置和粗细比较相符,于是去控制 ...

  9. solaris 软件包地址

      1. http://www.opencsw.org/ 在Solaris 10下 1.安装pkgutil pkgadd -d http://get.opencsw.org/now 2.查询有那些PK ...

  10. 对一个前端AngularJS,后端OData,ASP.NET Web API案例的理解

    依然chsakell,他写了一篇前端AngularJS,后端OData,ASP.NET Web API的Demo,关于OData在ASP.NET Web API中的正删改查没有什么特别之处,但在前端调 ...