📄 htmlgenerater.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 + -