`
smile6688
  • 浏览: 12076 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Freemarker学习归纳(四)

阅读更多

转自http://www.javabc.com/Html/javakyjs/javaky_fv/2007-1/412885210.html

四.Freemarker与Struts结合

1.输出文件换成以ftl格式的文件

E.G.

<action validate="true" type="example.BookAction" scope="request" path="/bookAction" parameter="method" name="bookActionForm"></action>

<forward path="/index.ftl" name="list"></forward>

 

2.使用struts,jstl等标签

a.导入à<#global html=JspTaglibs["/WEB-INF/tags/struts-html.tld"]>

或<#assign html=JspTaglibs["/WEB-INF/struts-html.tld"]>
<#assign bean=JspTaglibs["/WEB-INF/struts-bean.tld"]>
<#assign logic=JspTaglibs["/WEB-INF/struts-logic.tld"]>

b.使用à<@bean.page id="request" property="request"/>,
<@html.text property="vo.newsTitle" styleClass="input1"/>

五.用Freemarker生成Html页面

   例子:MakeFileManager.java

 

package example;

import freemarker.template.Configuration;
import java.text.SimpleDateFormat;
import java.io.File;
import freemarker.template.DefaultObjectWrapper;
import java.util.Map;
import java.util.HashMap;
import java.io.Writer;
import java.io.OutputStreamWriter;
import java.io.FileOutputStream;
import freemarker.template.TemplateException;
import java.io.IOException;
import freemarker.template.Template;

public class MakeFileManager {
    public String make(Book book, BookFtl bookFtl) {
        Configuration cfg = new Configuration();//配制

        String realPath = bookFtl.getRealPath();
        String templatePath = realPath + "/WEB-INF/templates/book";
        String cDateStr = "book/" +
                          new SimpleDateFormat("yyyyMMdd").format(new java.util.
                Date());
        String filePostfix = ".html";
        String path = realPath + "/" + cDateStr;
        String fileTimeName = new SimpleDateFormat("yyyyMMddhhmmss").format(new
                java.util.Date());
        String returnFileName = cDateStr + "/" + fileTimeName + filePostfix;
        String fileName = "";
        File bookDir = new File(path);
        if (bookDir.exists()) {
            fileName = path + "/" + fileTimeName + filePostfix;
        } else {
            bookDir.mkdirs();
            fileName = path + "/" + fileTimeName + filePostfix;
        }
        try {
            //设置freemarker的参数
            cfg.setNumberFormat("0.##########");//生成html文件时web.xml配制无效
            //cfg.setEncoding();
            cfg.setDirectoryForTemplateLoading(new File(templatePath));
            cfg.setObjectWrapper(new DefaultObjectWrapper());
            Template bookTemplate = cfg.getTemplate(bookFtl.getTemplateName());//模板对象
            Map root = new HashMap();
            root.put("book", book);
            root.put("book2",book);
            Writer out = new OutputStreamWriter(new FileOutputStream(fileName));
            try {
                bookTemplate.process(root, out);
            } catch (TemplateException e) {
                e.printStackTrace();
            }
            out.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return returnFileName;
    }
}

分享到:
评论

相关推荐

    Freemarker学习归纳

    Freemarker是一个强大的模板引擎,常用于Web应用中的视图层渲染,特别是在Java环境中与Spring框架结合使用广泛。本篇文章将深入探讨Freemarker的基本概念、语法特性、使用场景以及最佳实践,帮助读者全面理解并掌握...

    freemarker资料汇总

    最后,基础语法的文本文件《Freemarker基础语法.txt》和《Freemarker学习归纳 .txt》是对Freemarker核心语法的精炼总结,方便初学者快速入门。这些文件可能包括变量、表达式、控制流、注释等基本元素,是学习...

    springboot学习思维笔记.rar

    这份"springboot学习思维笔记"很可能是对SpringBoot核心概念、特性、以及如何进行有效学习的一系列整理和归纳,通常包括思维导图(xmind)形式的概览和详细的文本说明。 1. **SpringBoot基础知识** - **自动配置**...

    JAVA工程师年度总结.pdf

    我曾熟悉并应用SSH框架(Struts、Spring、Hibernate),在表现层使用FreeMarker和JSP。在实际项目中,我运用SpringMVC框架开发了针对XXX行业的管理系统。尽管如此,我也意识到自身在某些领域的不足,例如未使用过...

    Hadoop+Django+Hive+Vue电商数据分析及推荐系统答辩PPT.pptx

    本文通过Python编程语言,利用爬虫技术定向抓取相关网站内容,并进行文本挖掘、关键信息抽取、分类与归纳,以实现统计分析。此外,还使用Python进行关联分析,设计并编写了相应的电商数据分析及推荐系统。该系统具有...

    基于java的大学宿舍管理系统毕业设计外文翻译及[管理资料].docx

    根据提供的文档信息,我们可以归纳出以下几个关键的知识点: ### 一、Java在大学宿舍管理系统中的应用 #### 1. Java技术概述 Java是一种广泛使用的面向对象编程语言,它以其跨平台性和安全性而闻名。Java技术在...

    IT实训报告

    实训总结不仅归纳了整个项目的学习成果,还反思了不足之处,为后续的改进提供了方向。 ### 项目部署简单说明 项目部署说明提供了系统上线前的准备步骤,包括环境配置、安装指南和操作流程,确保系统能顺利运行于...

    SpringBoot专栏教程-邮件.pdf

    根据提供的文件信息,我们可以归纳出一系列与Spring Boot相关的知识点,主要围绕邮件功能展开的可能性较低,因为文件内容更多地涉及Spring Boot的基础概念、Web开发、数据访问等主题。下面将基于这些信息来提炼出...

    spring开发视频高级教程.txt

    下面将根据标题、描述、标签及部分可见内容来归纳总结几个关键的知识点。 ### Spring框架概述 Spring框架最初由Rod Johnson创建,旨在简化企业级Java应用程序的开发。Spring框架的核心特性包括依赖注入...

    Struts2.1+Spring3.0+JPA1.0 .pdf

    根据提供的文件信息,我们可以归纳出以下关键知识点,主要聚焦于Struts2框架的学习与应用: ### Struts2框架概述 **Struts2** 是一个基于Java的开源Web应用程序框架,它继承了Struts1的优点,并引入了许多新特性,...

Global site tag (gtag.js) - Google Analytics