需求
想右键打开想要的网页,而不是一个一个慢慢打开。因此想做个bookmarkers书签。
实现
后端
Configuration cc = new Configuration();
cc.setDirectoryForTemplateLoading(new File(TEMPLATEFILE));
Map root = new HashMap();
root.put("list", list);
System.out.println("===="+list.size());
System.out.println(list.get(0).getWebtype());
Template template = cc.getTemplate(TEMPLATEFILENAME);
template.setEncoding("UTF-8");
Writer out = new OutputStreamWriter(System.out,"UTF-8");
template.process(root, out);
File fileDir = new File(SAVEDIR);
FileUtils.forceMkdir(fileDir);
File output = new File((new StringBuilder()).append(fileDir).append(SAVEFILE).toString());
// Writer writer = new FileWriter(output);
Writer writer = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(output),"UTF-8"));
template.process(root, writer);
writer.close();
out.flush();
out.close();
前端 ftl文件
<!DOCTYPE NETSCAPE-Bookmark-file-1>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<TITLE>Bookmarks</TITLE>
<H1>Bookmarks</H1>
<DL><p>
<DT><H3 ADD_DATE="1477118590" LAST_MODIFIED="1486200186" PERSONAL_TOOLBAR_FOLDER="true">收藏栏</H3>
<DL><p>
<#list list as webSite>
<DT><H3 ADD_DATE="1486200186" LAST_MODIFIED="1486200195">${webSite.webtype}</H3>
<DL><p>
<#list webSite.web as web>
<DT><A HREF="${web.weburl}" ADD_DATE="1486200195" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAc0lEQVQ4jWNgGGjAiMYPJ6B+JboAC7rAy5cvV6CLiYuLR/z//38FIyMjhiFMhB2JAP///1+B7koMF/Dy8hI0BNklGAZgAxcuXFjByMgYgU2OKAPU1NQYvn37Bg8bLi4uuGEkhQE2MGoAFQzAiEbkKKILAADxTRpEuhAmjwAAAABJRU5ErkJggg==">${web.webname}</A>
</#list>
</DL><p>
</#list>
</DL><p>
</DL><p>
分析
1、书签的格式是
——type
————name
————url
2、freemark生成html文件乱码问题
template.setEncoding(“UTF-8”);
Writer writer = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(output),”UTF-8”));
全CSDN的丰(好)色(se)博客,这里有书本看不到的Java技术,电影院禁播的电影,欢迎关注QQ群494808400