FreeMarker生成静态页
来源:互联网 发布:快约软件 编辑:程序博客网 时间:2024/05/08 16:12
一、 FreeMarker生成静态页原理
众所周知,FreeMarker适合于作为Web应用的表现层,那么我们就把把页面中所需要的样式放入FreeMarker文件中,然后将页面所需要的数据动态绑定,并放入Map中,通过调用FreeMarker模板文件解析类process()方法完成静态页面的生成。了解了上面的原理,接下来四夕就一步步带您实现FreeMarker生成静态页面。
二、 创建FreeMarker模板文件user.ftl。
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <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>
三、 创建FreeMarker模板文件解析器类FreeMarkertUtil
FreeMarkertUtil.Java
- //省略包的导入
- Public class FreeMarkerUtil{
- //templatePath模板文件存放路径
- //templateName 模板文件名称
- //filename 生成的文件名称
- public static void analysisTemplate(String templatePath,String templateName,String fileName,Map<?,?>root){
- try {
- Configuration config=new Configuration();
- //设置要解析的模板所在的目录,并加载模板文件
- config.setDirectoryForTemplateLoading(new File(templatePath));
- //设置包装器,并将对象包装为数据模型
- config.setObjectWrapper(new DefaultObjectWrapper());
- //获取模板,并设置编码方式,这个编码必须要与页面中的编码格式一致
- //否则会出现乱码
- Template template=config.getTemplate(templateName,“UTF-8”);
- //合并数据模型与模板
- FileOutputStream fos = new FileOutputStream(fileName);
- Writer out = new OutputStreamWriter(fos,“UTF-8”);
- template.process(root, out);
- out.flush();
- out.close();
- } catch (IOException e) {
- e.printStackTrace();
- }catch (TemplateException e) {
- e.printStackTrace();
- }
- }
- }
四、 创建FreeMarker模板文件动态绑定的数据对象类User.java
User.java
- //..省略包的导入
- public class User{
- private String userName;
- private String userPassword;
- …省略getter()与setter方法
- }
五、 创建FreeMarker生成静态页面测试类ClientTest.java
- //..省略包的导入
- public class ClientTest{
- public static void main(String[] args){
- User user=new User();
- user.setUserName("张三");
- user.setUserPassword("123");
- Map<String,Object> root=new HashMap<String, Object>();
- root.put("user", user);
- String templatesPath="D:/DevPlateForm/Eclipse/workspaces/freeMakerTest/src/templates";
- String templateFile="/user.ftl";
- String htmlFile=templatesPath+"/user.html";
- FreeMarkertUtil.analysisTemplate(templatesPath,templateFile,htmlFile,root);
- }
- }
转自:http://blog.csdn.net/flash9008/article/details/7207824
0 0
- Freemarker 生成静态页
- FreeMarker生成静态页
- FreeMarker生成静态页
- freemarker 生成静态面
- Freemarker生成静态页面
- freemarker生成静态页面
- freemarker 生成静态文件
- freemarker生成静态页面
- FreeMarker生成静态页面
- FreeMarker生成静态页面
- 使用freemarker生成静态页面
- struts2+freemarker 生成静态页面
- Freemarker生成静态html示例
- 用freemarker生成静态页面
- freemarker生成静态html文件
- struts2+freemarker 生成静态页面
- freemarker之生成静态页面
- 使用freemarker生成静态页面
- 微机原理的常用的DOS软中断
- Android进程管理(详解)
- VS注释快捷键
- iOS 应用如何完全支持 IPv6-ONLY 网络?
- js--Math对象的属性方法整理
- FreeMarker生成静态页
- 《Nodejs开发加密货币》之十一:一张图熟练使用Async组件解决回调大坑
- Spring AOP
- SQLSERVER2008完整数据库恢复的正确姿势
- InputStream中read()与read(byte[] b)
- 吉林大学linux校园网客户端 64位操作系统不能上网解决方案
- 信息无障碍专业术语---障碍
- js动态创建dom元素示例
- 代码度量工具——SourceMonitor的学习和使用