Java读取根据HTML模板生成HTML页面
首先,我们需要一个html模板:
- <html>
 - <head>
 - <title>###title###</title>
 - <meta http-equiv="Content-Type" content="text/html; charset=gbk">
 - </head>
 - <body>
 - <table width="500" border="0" align="center" cellpadding="0" cellspacing="2">
 - <tr>
 - <td align="center">###title###</td>
 - </tr>
 - <tr>
 - <td align="center">###author### </td>
 - </tr>
 - <tr>
 - <td>###content###</td>
 - </tr>
 - <tr>
 - <td>###html###</td>
 - </tr>
 - </table>
 - </body>
 - </html>
 
其次:我们编写java代码实现模板读取,页面生成:
- import javax.servlet.http.HttpServletRequest;
 - import java.util.List;
 - import java.util.ArrayList;
 - import java.util.Date;
 - import java.net.URL;
 - import java.net.URLConnection;
 - import java.io.*;
 - /**
 - * Filename: JspToHtml.java <br>
 - * Ttitle: jsp转换成html<br>
 - * De.ion: 把动态网页转换成静态网页<br>
 - * Copyright: Copyright (c) 2002-2008 BocSoft,Inc.All Rights Reserved. <br>
 - * Company: BocSoft<br>
 - * Author: <a href="mailto:sgicer@163.com">阿汐</a> <br>
 - * Date: 2006-6-19 <br>
 - * Time: 16:41:09 <br>
 - * Version: 2.0.0 <br>
 - */
 - public class JspToHtml {
 - private static String title ="标题测试";
 - private static String context ="标题测试";
 - private static String editer ="标题测试";
 - /**
 - * 根据本地模板生成静态页面
 - * @param JspFile jsp路经
 - * @param HtmlFile html路经
 - * @return
 - */
 - public static boolean JspToHtmlFile(String filePath, String HtmlFile) {
 - String str = "";
 - long beginDate = (new Date()).getTime();
 - try {
 - String tempStr = "";
 - FileInputStream is = new FileInputStream(filePath);//读取模块文件
 - BufferedReader br = new BufferedReader(new InputStreamReader(is));
 - while ((tempStr = br.readLine()) != null)
 - str = str + tempStr ;
 - is.close();
 - } catch (IOException e) {
 - e.printStackTrace();
 - return false;
 - }
 - try {
 - str = str.replaceAll("###title###",title);
 - str = str.replaceAll("###content###",context);
 - str = str.replaceAll("###author###",editer);//替换掉模块中相应的地方
 - File f = new File(HtmlFile);
 - BufferedWriter o = new BufferedWriter(new FileWriter(f));
 - o.write(str);
 - o.close();
 - System.out.println("共用时:" + ((new Date()).getTime() - beginDate) + "ms");
 - } catch (IOException e) {
 - e.printStackTrace();
 - return false;
 - }
 - return true;
 - }
 - /**
 - * 根据url生成静态页面
 - *
 - * @param u 动态文件路经 如:http://www.163.com/x.jsp
 - * @param path 文件存放路经如:x:\\abc\bbb.html
 - * @return
 - */
 - public static boolean JspToHtmlByURL(String u, String path) {
 - //从utl中读取html存为str
 - String str = "";
 - try {
 - URL url = new URL(u);
 - URLConnection uc = url.openConnection();
 - InputStream is = uc.getInputStream();
 - BufferedReader br = new BufferedReader(new InputStreamReader(is));
 - while (br.ready()) {
 - str += br.readLine() + "\n";
 - }
 - is.close();
 - //写入文件
 - File f = new File(path);
 - BufferedWriter o = new BufferedWriter(new FileWriter(f));
 - o.write(str);
 - o.close();
 - str = "";
 - return true;
 - } catch (Exception e) {
 - e.printStackTrace();
 - return false;
 - }
 - }
 - /**
 - * 根据url生成静态页面
 - *
 - * @param url 动态文件路经 如:http://www.163.com/x.jsp
 - * @return d
 - */
 - public static StringBuffer getHtmlTextByURL(String url) {
 - //从utl中读取html存为str
 - StringBuffer sb = new StringBuffer();
 - try {
 - URL u = new URL(url);
 - URLConnection uc = u.openConnection();
 - InputStream is = uc.getInputStream();
 - BufferedReader br = new BufferedReader(new InputStreamReader(is));
 - while (br.ready()) {
 - sb.append(br.readLine() + "\n");
 - }
 - is.close();
 - return sb;
 - } catch (Exception e) {
 - e.printStackTrace();
 - return sb;
 - }
 - }
 - /**
 - * 测试main 函数
 - *
 - * @param arg
 - */
 - public static void main(String[] arg) {
 - long begin = System.currentTimeMillis();
 - //循环生成10个html文件
 - for (int k = 0; k < 10; k++) {
 - String url = "E:\\workspace\\oa\\golatel\\utils\\Temp\\mb.htm";//模板文件地址
 - String savepath = "d:/" + k + ".html";//生成文件地址
 - JspToHtmlFile(url, savepath);
 - }
 - System.out.println("用时:" + (System.currentTimeMillis() - begin) + "ms");
 - }
 - }
 
												
											Java读取根据HTML模板生成HTML页面的更多相关文章
- html模板生成静态页面及模板分页处理
		
它只让你修改页面的某一部分,当然这"某一部分"是由你来确定的.美工先做好一个页面,然后我们把这个页面当作模板(要注意的是这个模板就没必要使用EditRegion3这样的代码了,这种 ...
 - 【Java】itext根据模板生成pdf(包括图片和表格)
		
1.导入需要的jar包:itext-asian-5.2.0.jar itextpdf-5.5.11.jar. 2.新建word文档,创建模板,将文件另存为pdf,并用Adobe Acrobat DC打 ...
 - 利用模板生成html页面(NVelocity)
		
公司的网站需要有些新闻,每次的新闻格式都是一样的,而不想每次都查询操作,所以想把这些新闻的页面保存成静态的html,之后搜索了下就找到了这个模板引擎,当然其他的模板引擎可以的,例如:Razor,自己写 ...
 - JAVA使用itext根据模板生成PDF文档
		
1.制作PDF模板 网址打开:https://www.pdfescape.com/open/ 我们这里先在线上把基础的内容用word文档做好,然后转成PDF模板,直接上传到网站上,这样方便点 假设我们 ...
 - Java Web项目--使用JSP生成一个页面
		
我们使用了servlet生成了一个网页,但是可以看到使用servlet生成网页必须将网页的内容全部嵌入到Java代码当中,不是很方便.所以有没有什么办法是将Java代码嵌入到html代码中,而不是像s ...
 - Java Web项目--使用Servlet生成一个页面
		
为了生成一个servlet对应的网页.我们需要新建一个web.xml,其中将会放置servlet的相关信息.web.xml文件放置在WebContent/WEB-INF/目录下.(我们在Eclipe中 ...
 - 第四篇:java读取Excel简单模板
		
场景:对于经常需要导入Excel模板或数据来解析后加以应用的,使用频率非常之高,做了一个比较稳定的版本,体现在这些地方工具:org.apache.poi使用前必须了解这些:1.要解析,那肯定先判断是不 ...
 - java 根据word xml模板生成word
		
这里用的是poi相关jar包以及freemarker插值技术实现,poi相关jar包这里不再述说 1,编辑word并保存为xml 2,把xml后缀改为ftl文件 3,前端代码 // alert(jso ...
 - html-webpack-plugin插件 根据模板生成多页面
		
1.项目目录结构为: 2.webpack.config.js配置文件为: var htmlWebpackPlugin = require('html-webpack-plugin'); module. ...
 
随机推荐
- 今天朋友带领去谷歌ok2eat 餐厅吃免费午餐
			
中午去队友公司免费吃饭.朋友带我们去她的楼下吃,就算是googler真的也不是所有cafe都知道,感谢朋友带领.
 - Mac之常见问题
			
1. 在命令行下无法使用ll命令 需要设置命令的别名. 文件位置:-/.bash_profile source ~/.profile export PATH="/usr/local/opt/ ...
 - Webmin代码执行漏洞复现
			
0x00 前言之前由于hw,没得时间分析.这个webmin相信大家很多次都在内网扫到过.也是内网拿机器得分的一环. 0x01影响版本Webmin<=1.920 0x02 环境搭建 建议大家以后用 ...
 - 第三篇.python编辑器和集成环境01
			
修改python的镜像源 使用pip可以提高网速 \Lib\site-packages\pip\models\index.py文件,将PYPI的值改为你所需要的镜像源即可,例如改为豆瓣镜像源: #Py ...
 - pam_smb
			
What is pam_smb? pam_smb is a PAM module/server which allows authentication of UNIX users using an N ...
 - Linux下源码编译安装MySql,centeros7
			
1. 安cmake工具 # yum install -y cmake 2. 创建mysql用户 #useradd -s /sbin/nologin mysql //设置为非登陆用户(安全) 3. ...
 - C# Winform 带水印提示输入框
			
using System; using System.Drawing; using System.Runtime.InteropServices; using System.Windows.Forms ...
 - windows下用navicat链接虚拟机MySQL数据库的过程和问题解决
			
navicat远程连接虚拟机中的MySQL数据库 1.在linux查看mysql服务器IP地址 ifconfig 记住此IP navicat设置 设置完毕 遇到问题 一直连不上,在网上搜索了一下,主要 ...
 - IntelliJ IDEA和Eclipse快捷键对比总结
 - CSS字体中英文名称对照表
			
在CSS文件中,我们常看到有些字体名称变成了乱码,这是由于编写者将中文字体的名字直接写成了中文,并且再上传或者拷贝复制的时候无意间变成了乱码. 为了避免这种状况出现,在CSS文件中使用中文字体时,最好 ...