- 浏览: 218751 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
zzhyq:
有没有后台是ASHX 的呀
Ext.tree.TreePanel -
693593336:
谢谢作者分享,正好用上
Ext.tree.TreePanel -
greatwqs:
提供一个下载的demo不是更好
基于servlet的 Freemarker Demo
至于什么是freemarker,百度百科可查到。至于freemarker的褒贬,本人还没入门,无从说起。玩玩而已。。。
随便建立一个XXXX应用程序,导入freemarker的第三方包。下载地址:http://freemarker.sourceforge.net/
建立文件一,代码如下:
Code:
- packagecom.zyeeda.www.Test;
- importjava.io.BufferedWriter;
- importjava.io.File;
- importjava.io.FileWriter;
- importjava.io.IOException;
- importjava.io.Writer;
- importjava.util.ArrayList;
- importjava.util.HashMap;
- importjava.util.List;
- importjava.util.Map;
- importfreemarker.template.Configuration;
- importfreemarker.template.DefaultObjectWrapper;
- importfreemarker.template.Template;
- publicclassFreeMarkerTest{
- publicstaticvoidmain(String[]args)throwsException{
- Configurationconfig=newConfiguration();
- try{
- config.setDirectoryForTemplateLoading(newFile("e://javasrc"));
- config.setObjectWrapper(newDefaultObjectWrapper());
- //拿到test.ftl的模板(相当于html模板)
- Templatetemplate=config.getTemplate("test.ftl","UTF-8");
- //创建数据模型
- Maproot=newHashMap();
- List<User>users=newArrayList<User>();//方式一:List。用于包装用户信息对象列表
- Useru1=newUser();
- u1.setId("123");
- u1.setName("王五");
- users.add(u1);
- Useru2=newUser();
- u2.setId("2345");
- u2.setName("张三");
- Useru3=newUser();
- u3.setId("fgh");
- u3.setName("李四");
- users.add(u2);
- users.add(u3);
- root.put("userList",users);//映射root
- Mapproduct=newHashMap();//方式二:单独映射键对。映射product
- root.put("lastProduct",product);
- product.put("url","http://www.google.com");
- product.put("name","greenhose");
- Mapnb=newHashMap();
- nb.put("name","标");
- nb.put("add","中昱达");
- root.put("mm",nb);
- //新建一个文件。
- Filefile=newFile("e://javasrc//test.html");
- if(!file.exists()){//不存在文件则创建该文件。
- //System.out.println("fileexist");
- file.createNewFile();
- }
- //创建该文件的输出字符流。
- Writerout=newBufferedWriter(newFileWriter(file));
- template.process(root,out);
- out.flush();
- }catch(IOExceptione){
- //TODOAuto-generatedcatchblock
- e.printStackTrace();
- }
- }
- }
注释只是个人的理解而已。。。如果错误,请指出。
在相应的位置建立一个模板文件:e://javasrc test.ftl
Code:
- <html>
- <head>
- <title>Welcome!</title>
- </head>
- <body>
- <#listuserListasuser>
- <h1>Welcome${user.name}!id:${user.id}</h1><br/>
- </#list>
- <p>Ourlatestproduct:
- <ahref="${lastProduct.url}">${lastProduct.name}</a>!
- <p>test1:${mm.name}test2:${mm.add}
- </body>
- </html>
还在入门的路上。。。
晚上无聊,对模板进行了修改。 然后,输出结果,就是最近经常看的Ext.data.JsonStore格式。
Code:
- {userlist:[<#listuserListasuser> #有待完善
- {name:${user.name},id:${user.id}}
- </#list>],
- url:${lastProduct.url},name:${lastProduct.name}}
输出到 test.html
Code:
- {userlist:[{name:王五,id:123}{name:张三,id:2345}{name:李四,id:fgh}],url:http://www.google.com,name:greenhose}
发表评论
-
Singletons and lazy loading
2011-09-26 19:47 914The Java Memory Model # ... -
JVM blogs
2011-09-14 21:40 470话说是 【JVM详解的专题】,很多文章的差不多的,有的详 ... -
effective Java _Generic
2011-09-12 12:03 0#23 -
Class Loader
2011-08-28 16:47 774专栏合集(一):Java深度历险 pdf已上传1 ... -
Study Linkinginginginginginginging
2011-08-27 10:42 730#1 java 工程和类等路径汇总 #2 让Apac ... -
How to send Email
2011-08-26 15:32 6021.java mail 使用介绍 2.Java ... -
Java_Try_Finally
2011-07-18 11:51 643public class TestTryCatch { ... -
Java Class ClassLoader
2011-07-15 17:05 1027下午在看《Java 深度历险》,对Class & ... -
关键字 final & transient
2011-06-08 16:49 965final 详见: http://java.chinaitl ... -
课程设计3
2010-01-04 14:09 779题目3:动态分区式存储管理的存储分配和回收 一、设计目的 ... -
课程设计1
2010-01-04 14:24 748采用的是C++语言编写的,但PCB的数据结构是符合要求的。 ... -
os课程设计后感
2010-01-04 14:48 541今天终于把操作系统的实验给终结了。基本要求算是符合了,可能表 ... -
java作业01
2010-03-06 16:02 663package homework01; public cla ... -
Java作业02
2010-03-11 14:22 789package homework02; import jav ... -
File函数返回当前路径
2010-03-12 19:37 671package netWorkMoreThreadCopy; ... -
多线程文件复制(界面)1
2010-03-12 23:45 940package netWorkMoreThreadCopy; ... -
Java IO 转摘
2010-03-15 00:26 510java中的io中的(input/output)str ... -
java作业03
2010-03-17 00:59 696package homework03; import jav ... -
Java作业
2010-03-17 01:19 640package homework03;import java. ... -
java作業3
2010-03-18 18:36 592package homework03;/** 首先编写一个抽象 ...
相关推荐
俗话说万事开头难,这句话对于我们程序员来说非常的适用,刚接触一门新的东西,...FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序
1. 用户列表展示:一个简单的例子,展示如何使用Freemarker遍历用户列表并显示用户信息,如用户名、邮箱等。 2. 动态生成邮件:另一个实例可能是创建一个模板,动态地根据用户数据生成个性化的电子邮件内容,如问候...
这是一个基于eclipse+springmvc+freemarker+注解的入门例子,是一个war包,import到eclipse就应该可以直接运行,但是确保maven环境到存在;我做为一个入门者,是参照了...
在"JFinal+Maven+FreeMarker入门实例"中,我们将看到如何配置和使用这些工具。首先,我们需要在项目根目录下创建一个`pom.xml`文件,这是Maven项目的配置文件。在这里,我们需要列出所有依赖项,包括JFinal和...
本示例“一个意义深刻的FreeMarker入门例子之HelloWord”旨在帮助初学者理解并掌握FreeMarker的基本用法。 在Java Web开发中,FreeMarker与后端控制器如Servlet或Spring MVC中的Controller协同工作,允许开发者将...
### FreeMarker 快速入门与上手教程 #### 一、FreeMarker 概览 **FreeMarker** 是一款强大的模板引擎,主要用于生成文本输出。它适用于多种用途,如生成 HTML 页面、XML 数据、电子邮件等。FreeMarker 的一大特点...
在这个“FreeMarker入门之一:say hello world”中,我们将探讨如何使用FreeMarker来创建一个简单的“Hello, World!”程序,了解其基本语法和工作原理。 1. **FreeMarker简介** FreeMarker是一个开源项目,由...
### FreeMarker 快速入门详解 #### 一、FreeMarker 概述 FreeMarker 是一个用 Java 编写的模板引擎,它支持动态网页的生成,同时也适用于任何纯文本格式的输出生成,例如 XML 和电子邮件等。FreeMarker 的设计初衷...
在上述的Freemarker入门实例中,我们看到一个简单的`product.ftl`模板文件,其中包含HTML结构以及`${...}`包围的Freemarker表达式。这些表达式在运行时会被对应的数据模型中的值替换。例如,`${user}`和`${...
总结来说,"Servlet + Freemarker 入门练习"涉及以下几个关键知识点: 1. **Servlet**:Java 服务器端编程,处理 HTTP 请求,实现业务逻辑。 2. **Freemarker**:模板引擎,分离视图和逻辑,生成动态 HTML。 3. **...
本实例将引导你入门Freemarker,解决在Eclipse环境下使用Java编译时可能出现的乱码问题,并确保使用UTF-8编码方式进行处理。 **1. Freemarker简介** Freemarker是一个基于模板的开源Java库,它与Spring MVC、Struts...
在这个例子中,`${user}`、`${latestProduct.url}`和`${latestProduct.name}`是FreeMarker指令,它们将被数据模型提供的具体值所替换。数据模型是由程序员创建的,它可以包含来自数据库、文件或者程序内部生成的数据...
这个入门例子是为初学者设计的,旨在帮助他们快速理解和上手Spring MVC。 首先,我们需要理解Spring MVC的基本组件: 1. **DispatcherServlet**:这是Spring MVC的核心组件,作为前端控制器接收所有的HTTP请求,并...
本指南主要针对FreeMarker 2.3.23版本,提供详细的API文档和入门教程。 在开始之前,你需要了解FreeMarker的基本概念:模板(Template)和数据模型(Data Model)。模板是包含静态文本和变量的文件,变量会被数据...
本教程将通过一个基础的"freemarker入门demo",帮助你理解Freemarker的工作原理和基本用法。 首先,让我们了解一下Freemarker模板语言(FTL)。FTL是Freemarker Template Language的缩写,它是一种声明式的标记语言...
freemarker 中文文档,freemarker入门简介,含几个小实例
1. **入门指南**:解释如何安装Freemarker,以及在Java项目中集成它的基本步骤。 2. **实例分析**:通过实际示例演示如何创建和使用模板,以及如何与后端数据交互。 3. **性能优化**:介绍如何提高模板的执行效率...
### FreeMarker实例教程知识点详解 #### 一、FreeMarker简介 **FreeMarker**是一款功能强大的模板引擎,主要用于生成文本输出,如HTML页面、电子邮件、配置文件等。它被广泛应用于Web开发领域,能够帮助开发者轻松...
**入门FreeMarker:** 1. **安装与配置**:FreeMarker是一个轻量级库,可以通过Maven或Gradle等构建工具引入到Java项目中。配置主要涉及设置模板目录和配置文件`freemarker.properties`,其中定义了FreeMarker的行为...
最近比较折腾,项目里需要用到静态化,于是就抽时间学习了一下。使用main方法执行,对于刚学习的人来说非常合适的例子。