怎样保存客户端的HTML代码到后台 我现在想把在客户端浏览器中显示的HTML页面中的HTML代码保存到数据库中,我先是在服务端通过后台程序查询数据,用JSP传回客户端的,现在想把客户端HTML代码保存起来,请问我要怎么获得HTML代码,以及插入数据库需注意些什么呢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在点击保存按钮的时候,用JS把页面的HTML代码保存到1个隐藏域中,然后后台取隐藏域的值!!! 从数据库查询显示到页面的时候要记得把HTML代码过滤转换。 1java读取html源码(io写入)写的过程过滤掉html,js,。标签,如库2读的时候直接读就ok了 我是这样处理的:(我页面用UTF-8,数据库也是)加载页面的同时,用ajax发送一个URL, /** 产生详单页面HTML代码 **/ function loadContent(strURL) { var strContent = ""; if (typeof strURL != "string" || strURL == "") return; var xml = createXMLHTTP(); xml.open("get",strURL,false); xml.send(); if(xml.status==200) var text= xml.responseText; xml=null; return text; } 通过xml.responseText直接获取HTML代码,然后放到页面的某个隐藏域,最后传到后台,然后直接保存到数据库,数据库中保存的HTML代码跟页面上的代码完全一样,不必进行任何处理。当要查看保存的HTML代码的页面时,先从数据库取出来。由于数据库里是clob类型,所以转换为String时, BufferedReader bufReader = null; Reader readerForClob = null; StringBuffer sb = new StringBuffer(); try { try { readerForClob = clob.getCharacterStream(); bufReader = new BufferedReader(readerForClob); String str = null; // bufReader.r while ((str = bufReader.readLine()) != null) sb.append(str).append("\n"); } finally { try { bufReader.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { readerForClob.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 最后将str 写到客户端浏览器: response.setContentType("text/html;charset=UTF-8"); response.getWriter().write(str); response.getWriter().flush(); response.getWriter().close(); 用户就可以在浏览器中看到页面了,跟保存时效果一样,这样就保存了历史记录了 log4j想查看Hibernate SQL语句中绑定到参数无效、为什么? IE 加载JS的问题 请教FCKeditor java 上传图片的问题 紧急求救,<c:foreach 取hidden值得问题 怎么用梅花雪树形控件从数据库动态显示 好久没来了,散点分 Tapestry的workbench例子发布在tomcat5.0上失败求助? 如何在JSP中实现弹出对话框进行数据添加 数据库的插入问题 求助Eclipse3.2 谁有给一个。。。。。 用的jsp+tomcat,怎么样在页面上点一个kdh文件链接的时候,是下载而不是直接打开呢? Spring 问题?高手指教!!!
写的过程过滤掉html,js,。标签,如库
2读的时候直接读就ok了
加载页面的同时,用ajax发送一个URL, /**
产生详单页面HTML代码
**/
function loadContent(strURL)
{
var strContent = "";
if (typeof strURL != "string" || strURL == "") return;
var xml = createXMLHTTP();
xml.open("get",strURL,false);
xml.send();
if(xml.status==200)
var text= xml.responseText;
xml=null;
return text;
}
通过xml.responseText直接获取HTML代码,然后放到页面的某个隐藏域,最后传到后台,然后直接保存到数据库,数据库中保存的HTML代码跟页面上
的代码完全一样,不必进行任何处理。当要查看保存的HTML代码的页面时,先从数据库取出来。
由于数据库里是clob类型,所以转换为String时, BufferedReader bufReader = null;
Reader readerForClob = null;
StringBuffer sb = new StringBuffer();
try {
try {
readerForClob = clob.getCharacterStream();
bufReader = new BufferedReader(readerForClob);
String str = null;
// bufReader.r
while ((str = bufReader.readLine()) != null)
sb.append(str).append("\n");
} finally {
try {
bufReader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
readerForClob.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
最后将str 写到客户端浏览器:
response.setContentType("text/html;charset=UTF-8");
response.getWriter().write(str);
response.getWriter().flush();
response.getWriter().close();
用户就可以在浏览器中看到页面了,跟保存时效果一样,这样就保存了历史记录了