html实现页面静态化的案例
html
博客
实现
静态化文件位置注意:
实体类定义:
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实现页面静态化的案例的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
刺客信条阴影:贝壳谜语解决方案
4 周前
By DDD
Windows 11 KB5054979中的新功能以及如何解决更新问题
3 周前
By DDD
在哪里可以找到原子中的起重机控制钥匙卡
4 周前
By DDD
<🎜>:死铁路 - 如何完成所有挑战
1 个月前
By DDD
Atomfall指南:项目位置,任务指南和技巧
1 个月前
By DDD

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)