📄 mapkeysviewhtmlthread.java
字号:
/*
* 创建日期 2004-11-14
*
* 更改所生成文件模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
package com.ct.hotweb.getter;
import java.io.*;
import java.util.*;
import com.ct.hotweb.bean.*;
import com.ct.hotweb.dao.*;
import com.ct.hotweb.util.*;
/**
* @author Administrator
*
* 更改所生成类型注释的模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
public class MapKeysViewHtmlThread {
private HotWebWorkManager manager = null;
private static final int countPerPage = 100;
public MapKeysViewHtmlThread(HotWebWorkManager manager) {
this.manager = manager;
}
public void run(Category cat) {
try {
CategoryDAO catDAO = new CategoryDAO();
List keys = catDAO.getAllInnerSearchKey(cat);
List keyVars = new ArrayList();
HashMap headVar = new HashMap(2);
headVar.put(
"CategoryName",
Utils.charsetChange(cat.getName(), manager.getHtmlCharset()));
headVar.put(
"MapIndexUrl",
GetterHelper.getMapIndexCategoryUrl(manager, null, 0));
int page = keys.size() / countPerPage;
if (keys.size() % countPerPage > 0)
page++;
List pageVars = new ArrayList();
for (int i = 0; i < page; i++) {
HashMap map = new HashMap(2);
map.put(
"PageUrl",
GetterHelper.getMapIndexCategoryUrl(manager, cat, i));
map.put("Page", "" + (i + 1));
pageVars.add(map);
}
for (int p = 0; p < page; p++) {
keyVars.clear();
for (int i = 0; i < countPerPage; i++) {
int index = p * countPerPage + i;
if (index >= keys.size()) break;
SearchKey key = (SearchKey) keys.get(index);
HashMap map = new HashMap(2);
Category cp = catDAO.getCategory("" + key.getParentID());
map.put("KeyUrl", GetterHelper.getKeyUrl(manager, cp, key));
map.put(
"KeyName",
Utils.charsetChange(
key.getName(),
manager.getHtmlCharset()));
keyVars.add(map);
}
String content =
generate(
manager.getMapKeysHtmlTemplate(),
headVar,
keyVars,
pageVars);
outputStaticHtml(cat, content, p);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public String generate(
TemplateAnalyzer template,
HashMap headVar,
List keyVars,
List pageVars) {
String htmlContent = "";
htmlContent
+= HtmlGenerateUtils.generateBlock(template.getBlock(0), headVar);
//generate searchkey url
htmlContent
+= HtmlGenerateUtils.generateBlock(template.getBlock(1), headVar);
htmlContent
+= HtmlGenerateUtils.generateBlocks(template.getBlock(2), keyVars);
htmlContent
+= HtmlGenerateUtils.generateBlock(template.getBlock(3), headVar);
//generate page url
htmlContent
+= HtmlGenerateUtils.generateBlock(template.getBlock(4), headVar);
htmlContent
+= HtmlGenerateUtils.generateBlocks(template.getBlock(5), pageVars);
htmlContent
+= HtmlGenerateUtils.generateBlock(template.getBlock(6), headVar);
htmlContent
+= HtmlGenerateUtils.generateBlock(template.getBlock(7), headVar);
return htmlContent;
}
public void outputStaticHtml(Category cat, String content, int page) {
File f;
BufferedOutputStream bos = null;
String fileName =
GetterHelper.getMapIndexCategoryFileName(manager, cat, page);
String path = GetterHelper.getMapIndexCategoryPath(manager, cat);
if (!(f = new File(path)).exists())
f.mkdirs();
path += fileName;
f = new File(path);
if (f.exists())
f.delete();
try {
bos = new BufferedOutputStream(new FileOutputStream(f));
bos.write(content.getBytes(manager.getHtmlCharset()));
bos.flush();
} catch (Exception e) {
System.out.println("output static html error. " + e.getMessage());
} finally {
try {
bos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -