永发信息网

怎么将jsp页面转换为html代码

答案:2  悬赏:10  手机版
解决时间 2021-01-25 12:23
怎么将jsp页面转换为html代码
最佳答案
你可以新建一个jsp页面,将html中标签中的内容替换jsp页面中
内容即可。但注意jsp页面中的第一行:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> 改为:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
这行意思是你用到了包和页面中显示的是中文。
全部回答
public class HtmlGenerator{
HttpClient httpClient = null; //HttpClient实例
GetMethod getMethod =null; //GetMethod实例
BufferedWriter fw = null;
String page = null;
String webappname = null;
BufferedReader br = null;
InputStream in = null;
StringBuffer sb = null;
String line = null;
//构造方法
public HtmlGenerator(String webappname){
this.webappname = webappname;
}

public boolean createHtmlPage(String url,String htmlFileName){
boolean status = false;
int statusCode = 0;
try{
//创建一个HttpClient实例充当模拟浏览器
httpClient = new HttpClient();
//设置httpclient读取内容时使用的字符集
httpClient.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"UTF-8");
//创建GET方法的实例
getMethod = new GetMethod(url);
//使用系统提供的默认的恢复策略,在发生异常时候将自动重试3次
getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler());
//设置Get方法提交参数时使用的字符集,以支持中文参数的正常传递
getMethod.addRequestHeader("Content-Type","text/html;charset=UTF-8");
//执行Get方法并取得返回状态码,200表示正常,其它代码为异常
statusCode = httpClient.executeMethod(getMethod);
if (statusCode!=200) {
System.out.println("静态页面引擎在解析"+url+"产生静态页面"+htmlFileName+"时出错!");
}else{
//读取解析结果
sb = new StringBuffer();
in = getMethod.getResponseBodyAsStream();
//br = new BufferedReader(new InputStreamReader(in));//此方法默认会乱码,经过长时期的摸索,下面的方法才可以
br = new BufferedReader(new InputStreamReader(in,"UTF-8"));
while((line=br.readLine())!=null){
sb.append(line+"\n");
}
if(br!=null)br.close();
page = sb.toString();
//将页面中的相对路径替换成绝对路径,以确保页面资源正常访问
page = formatPage(page);
//将解析结果写入指定的静态HTML文件中,实现静态HTML生成
writeHtml(htmlFileName,page);
status = true;
}
}catch(Exception ex){
System.out.println("静态页面引擎在解析"+url+"产生静态页面"+htmlFileName+"时出错:"+ex.getMessage());
}finally{
//释放http连接
getMethod.releaseConnection();
}
return status;
}
//将解析结果写入指定的静态HTML文件中
private synchronized void writeHtml(String htmlFileName,String content) throws Exception{
fw = new BufferedWriter(new FileWriter(htmlFileName));
OutputStreamWriter fw = new OutputStreamWriter(new FileOutputStream(htmlFileName),"UTF-8");
fw.write(page);
if(fw!=null)fw.close();
}
//将页面中的相对路径替换成绝对路径,以确保页面资源正常访问
private String formatPage(String page){
page = page.replaceAll("\\.\\./\\.\\./\\.\\./", webappname+"/");
page = page.replaceAll("\\.\\./\\.\\./", webappname+"/");
page = page.replaceAll("\\.\\./", webappname+"/");
return page;
}
//测试方法
public static void main(String[] args){
HtmlGenerator h = new HtmlGenerator("webappname");
String url = "http://localhost:8080/new.jsp";
String name = url.substring(url.lastIndexOf("/")+1);
name = name.substring(0,name.indexOf("."))+".html";
h.createHtmlPage(url,"F:/testCode/ssmdemo/src/main/webapp/html/"+name);
System.out.println("静态页面已经生成!!!!!");
}
}
也可以自己封装一个工具类,希望能帮到你!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
白裤子弄上眼影或眼线液怎么洗
下列关于村镇银行的行为说法正确的是( )。A
平定去五台山自驾还是跟旅游团好
日本的新干线比火车快吗?
【水浒传好段摘抄赏析】水浒传好词好句好段摘
䤡这个字怎么读
高一同班一男生,高二单他一个人遇到我时就叫
陕西冠群汽车服务有限公司地址在哪,我要去那
去大医院做无痛人流需要什么身份证明之类的东
最贵的雍正通宝是哪种
晚上睡觉有时喘不上来气 气短怎么回事
工程项目的管理模式中,委托专业机构进行项目
中百电器买的步步高7天内可以无条件退货吗
吃如新的启然超过15天可以吗
求 上瘾 电视剧 十一十二集 未删减版
推荐资讯
单位聚餐可以要求不准带孩子吗
具有前后摄象头的行车记录仪怎样显示
葡糖酒注册商标属于哪一类?
wespent three hours walking aroud the pa r
英语小文段。急求翻译。
求魔兽世界官方小说 血与荣耀 下载。
想念男友的现代诗(自创的也行)
一个男生发这个。。是什么意思
sns文件夹里删除的微信好友怎么加回来
急躁易怒,汗出心悸,手足震颤,可能是A.甲状
赞扬领导的文章。。。。。。
自鱼自乐水族怎么去啊,我要去那办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?