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

📄 htmlgenerater.java

📁 EasyJF官网(www.easyjf.com)全站系统源码使用说明 全站源码是EasyJF开源团队站务组及核心成员共同开发及维护的系统
💻 JAVA
字号:
package com.easyjf.news.business;

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;

import org.apache.log4j.Logger;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;

import org.apache.velocity.context.Context;

import org.apache.velocity.io.VelocityWriter;

import com.easyjf.http.ConnectionManager;
import com.easyjf.http.HttpConnection;

import com.easyjf.web.Globals;
import com.easyjf.web.RequestProcessor;

abstract public class HTMLGenerater {
private static String encoding="utf-8";
private static final Logger logger = (Logger) Logger.getLogger(RequestProcessor.class.getName());
public HTMLGenerater()
{
	
}
public static boolean urlSaveTo(String url,String localPath)throws Exception{
	boolean ret=false;	
	HttpConnection httpConn=new HttpConnection(ConnectionManager.getInstance().openConnection(url));	
	String html=httpConn.getHTML();		
	OutputStream o=new FileOutputStream(new File(localPath));
	OutputStreamWriter out=new OutputStreamWriter(o,"utf-8");
	//System.out.println(html);
	out.write(html);
	out.close();
	ret=true;
	return ret;
}
public static boolean newsToHtml(NewsDoc doc)
{	
	boolean ret=false;
	Template template = null;
	Context context=null;
	String templateName=doc.getTemplate();	
	//File imgTempDir=new File(BaseSiteConfig.getInstance().getHtmlFilePath());	
	String fileName=doc.staticHtmlUrl();
	File file=new File(Globals.APP_BASE_DIR+"/"+fileName);
	if(!file.getParentFile().exists())file.getParentFile().mkdirs();
	if(templateName==null || (templateName.equals("")))templateName="/news/show.html";
	//templateName=SiteConfig.getInstance().getTemplatePath()+templateName;	
	try
	{	
	//System.out.println(templateName+encoding+file.getAbsolutePath());
	template =VelocityFactory.getTemplate(templateName,encoding);//name	
	context= new VelocityContext();
	context.put("obj",doc);
	NewsDir dir=NewsDir.readBySn(doc.getDirSn());
	if(dir!=null)context.put("barTitle",dir.getTitle());
	SiteLinkTool siteLink=new SiteLinkTool();			
	siteLink.setTypes(1);			
	context.put("SiteLink",siteLink);
	//if(template==null)System.out.println("找不到模板!");
	mergeTemplate(template,context,file);
	ret=true;
	//logger.info("得到模板数据"+template.getEncoding());
	}	
	catch( Exception e )
	{
		logger.error(e);
	}
	return ret;
	
}
protected static void mergeTemplate(Template template, 
        Context context,File file)
{
	
	    Writer writer=null;
	    VelocityWriter vw = null;
	    try
	    {	
	    	writer=new OutputStreamWriter(new FileOutputStream (file),template.getEncoding());
	    	 vw = new VelocityWriter(writer, 4 * 1024, true);
	    	 template.merge(context, vw); 
	    }
	    catch(Exception e)
	    {
	    	e.printStackTrace();
	    	logger.error("合成错误:"+e);
	    }
	    finally
	    {
	        if (vw != null)
	        {
	            try
	            {              
	                vw.flush(); 
	            }
	            catch (Exception e)
	            {
	              logger.error(e.getMessage());
	            }                
	        }
	    }	
}   

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -