第一步  创建一个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. 送你一套纯净版的 SSM 架构

    大致介绍一下,目前 Java 中使用比较多的框架组合就是 Spring .Springmvc .Mybatis ,这 3 个框架也就是我们常说的 SSM. 前面陆陆续续也已经介绍完了这 3 个框架,今 ...

  2. k8s+Jenkins+GitLab-自动化部署asp.net core项目

    0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 此文阅读目录: 1.闲聊 ...

  3. 【BZOJ】1854: [Scoi2010]游戏【二分图】

    1854: [Scoi2010]游戏 Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 6759  Solved: 2812[Submit][Status] ...

  4. pygame系列_小球完全弹性碰撞游戏_源码下载

    之前做了一个基于python的tkinter的小球完全碰撞游戏: python开发_tkinter_小球完全弹性碰撞游戏_源码下载 今天利用业余时间,写了一个功能要强大一些的小球完全碰撞游戏: 游戏名 ...

  5. c# RSA 加密解密 java.net公钥私钥转换 要解密的模块大于128字节

    有一个和接口对接的任务,对方使用的是java,我方使用的是c#,接口加密类型为RSA,公钥加密私钥解密. 然后就是解决各种问题. 1.转换对方的密钥字符串 由于c#里面需要使用的是xml各式的密钥字符 ...

  6. Microsoft OS Descriptors

    Microsoft OS Descriptors Updated: April 11, 2014 USB devices store standard descriptors in firmware ...

  7. 推荐一个文献翻译软件--Deja Vu X

    首先我的这篇博客推荐的软件并非你觉得翻译精确度有多高的软件,假设是这种话就不用往下看了,免得浪费时间,仅仅是一个对于翻译文献非常方便的工具,方面在哪请看下文. 我是不会告诉你凡事用过这个软件的人都说好 ...

  8. Python 中函数的 收集参数 机制

    定义函数的时候,在参数前加了一个 * 号,函数可以接收零个或多个值作为参数.返回结果是一个元组. 传递零个参数时函数并不报错,而是返回一个空元组.但以上这种方法也有局限性,它不能收集关键字参数. 对关 ...

  9. 在简历中使用STAR法则

    一.什么是STAR法则? The STAR (Situation, Task, Action, Result) format is a job interview technique used by ...

  10. error CS0234: 命名空间“XXX”中不存在类型或命名空间名称“UserInfoVm”(是否缺少程序集引用?)

    □ 背景 UserInfoVm是在MVC的Models文件夹中的一个view model,这个view model是某部分视图的的页面Model.当加载这个部分视图的时候报了错. □ 思考 UserI ...