⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mapkeysviewhtmlthread.java

📁 实现了从Google
💻 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 + -