- 7
- 0
- 约4.74千字
- 约 5页
- 2017-08-17 发布于重庆
- 举报
FreeMaker原理分析.doc
Freemarker原理解析??
2011-05-13 11:19:41|??分类: JavaEE |??标签:freemarker??模板??变量??数据模型??文件?? |字号?订阅
FreeMarker生成静态页原理????? FreeMarker适合于作为Web应用的表现层。freemarker大致原理是:将页面中所需要的样式放入FreeMarker文件中,然后将页面所需要的数据动态绑定,并放入Map中,通过调用FreeMarker模板文件解析类process()方法完成静态页面的生成。了解了上面的原理,接下来我就一步 步带您实现FreeMarker生成静态页面。
一、 创建FreeMarker模板文件user.ftlUser.ftl!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//ENhtml? head? meta http-equiv=Content-Type content=text/html; charset=utf-8??? titleuser.ftl/title? /head? body??? ${user.userName}??? ${user.userPassword}? /body/html二、 创建FreeMarker模板文件动态绑定的数据对象类User.java(Sring中pojo)User.java//..省略包的导入 ????? public class User{?private String userName;private String userPassword;…省略getter()与setter方法
}
三、 创建FreeMarker模板文件解析器类FreeMarkertUtilFreeMarkertUtil.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”);????? cess(root, out);????? out.flush();????? out.close();? } catch (IOException e) {?? e.printStackTrace();? }catch (TemplateException e) {?? e.printStackTrace();? }?}}四、 创建FreeMarker生成静态页面测试类ClientTest.java//..省略包的导入public class ClientTest{?public static void main(String[] args){? User user=new User();? user.setUserName(张三);? user.setUserPassword(123);??MapString,Object root=new HashMapString, Object();? root.put(user, user);? String templatesPath=D:/DevPlateForm/Eclipse/workspaces/freeMakerTest/src/templates;
您可能关注的文档
最近下载
- 石竹山签谱详解100.doc VIP
- 中医临床诊疗术语标准及应用.docx VIP
- 2025年湘西土家族苗族自治州民族中医院医护人员招聘备考试题及答案解析.docx VIP
- 石竹山签谱全100签详解.pdf VIP
- 2023年高考历史真题:2023年高考山东历史真题及答案.pdf VIP
- 2025-2026学年人教版八年级数学上册期末考试试卷.pdf VIP
- 2023年高考历史真题试卷(新课标卷)(含答案及详细解析) .pdf VIP
- 2026中考英语复习《主谓一致》课件.pptx
- 2024年湘西土家族苗族自治州民族中医院医护人员招聘备考试题及答案解析.docx VIP
- 2025-2026学年小学科学六年级上册青岛版(六三制2024)教学设计合集.docx
原创力文档

文档评论(0)