分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

HTML页面静态化实现

发布时间:2023-09-06 01:10责任编辑:苏小强关键词:HTML静态化


静态化文件位置注意:

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/A4/FF/wKioL1m2KwSD3R_pAAAjiwpj0zM659.png" title="htmlStatic.png" alt="wKioL1m2KwSD3R_pAAAjiwpj0zM659.png" />

实体类定义:

public class News {private String title;private String pubTime;private String category;private String newsContent;public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public String getPubTime() {return pubTime;}public void setPubTime(String pubTime) {this.pubTime = pubTime;}public String getCategory() {return category;}public void setCategory(String category) {this.category = category;}public String getNewsContent() {return newsContent;}public void setNewsContent(String newsContent) {this.newsContent = newsContent;}}

自定义流的工具类

public class CharStreamIO {public void copyFile(String fsrc,String fDest){File file = new File(fDest);if(file.exists()){file.delete();}PrintWriter out = null;BufferedReader in = null;try {in = new BufferedReader(new FileReader(fsrc));out = new PrintWriter(new BufferedWriter(new FileWriter(fDest)));String strRet;while((strRet=in.readLine()) != null){out.println(strRet);out.flush();}} catch (Exception e) {e.printStackTrace();}finally{if(in != null){try {in.close();} catch (Exception e2) {e2.printStackTrace();}}if(out != null){try {out.close();} catch (Exception e2) {e2.printStackTrace();}}}}/** * 把传入的信息,保存成文件 * @param finfo   传入的文件内容信息 * @param fname   目标路径和文件名 */public void writeFile(String finfo,String fDest){File file = new File(fDest);if(file.exists()){file.delete();}PrintWriter out = null;try {out = new PrintWriter(new BufferedWriter(new FileWriter(fDest)));out.write(finfo);out.flush();} catch (Exception e) {e.printStackTrace();}finally{if(out !=null){out.close();}}}/** * 读取文本型文件 * @param name * @return */public String readFile(String fname){File file = new File(fname);StringBuilder bild = new StringBuilder();BufferedReader in = null;if(file.exists()){try {in = new BufferedReader(new FileReader(fname));String strRet;while((strRet=in.readLine()) != null){bild.append(strRet);}} catch (Exception e) {e.printStackTrace();}finally{if(in != null){try {in.close();} catch (Exception e2) {e2.printStackTrace();}}}}else{System.out.println(fname + "不存在");}  return bild.toString();}}


数据访问层

public class NewsDao {/** * 读取数据库中要生成的新闻信息 * @return */public List<News> getAllNews(){CharStreamIO io = new CharStreamIO();SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");List<News> newsList = new ArrayList<News>();News n1 = new News();n1.setCategory("sport");String c1 = io.readFile("NewsInfo\\news1.txt");n1.setNewsContent(c1);n1.setPubTime(sd.format(new Date()));n1.setTitle("深足教练组:说我们买球是侮辱 朱广沪常暗中支招");News n2 = new News();n2.setCategory("hot");String c2 = io.readFile("\\NewsInfo\\news2.txt");n2.setNewsContent(c2);n2.setPubTime(sd.format(new Date()));n2.setTitle("对对对发发发失误失误");newsList.add(n1);newsList.add(n2);return newsList;}}


业务逻辑层

public class NewsBiz {/** * 读取数据库中要生成的新闻信息 * @return */public void createAllNews() throws Exception{NewsDao dao = new NewsDao();List<News> newsList = dao.getAllNews();String destPath = "/News/newspages";for(int i=0;i<newsList.size();i++){    //读取模板CharStreamIO io = new CharStreamIO();String tmp = io.readFile("/News/news.tmp");//替换模板中的参数数据News n = newsList.get(i);String newTmp;newTmp = tmp.replace(TemplateParam.TITLE, n.getTitle());newTmp = newTmp.replace(TemplateParam.CATEGORY,n.getCategory());newTmp = newTmp.replace(TemplateParam.PUB_TIME,n.getPubTime());newTmp = newTmp.replace(TemplateParam.CONTENT, n.getNewsContent());//把替换后的内容保存成新闻页面io.writeFile(newTmp, destPath + "/news-" + i + ".html");}}}

TemplateParam类

public class TemplateParam {public static final String TITLE = "%{title}%";public static final String CATEGORY = "%{category}%";public static final String CONTENT = "%{newsContent}%";public static final String PUB_TIME = "%{pubTime}%";}

用户接口层

public class NewsTest {public static void main(String[] args) {NewsBiz biz = new NewsBiz();try {biz.createAllNews();System.out.println("新闻页面创建完毕!");} catch (Exception e) {e.printStackTrace();}}}


本文出自 “秦斌的博客” 博客,谢绝转载!

HTML页面静态化实现

原文地址:http://qinbin.blog.51cto.com/11773640/1964312

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved