我现在想把在客户端浏览器中显示的HTML页面中的HTML代码保存到数据库中,我先是在服务端通过后台程序查询数据,用JSP传回客户端的,现在想把客户端HTML代码保存起来,请问我要怎么获得HTML代码,以及插入数据库需注意些什么呢。

解决方案 »

  1.   

    在点击保存按钮的时候,用JS把页面的HTML代码保存到1个隐藏域中,然后后台取隐藏域的值!!!
      

  2.   

    从数据库查询显示到页面的时候要记得把HTML代码过滤转换。
      

  3.   

    1java读取html源码(io写入)
    写的过程过滤掉html,js,。标签,如库
    2读的时候直接读就ok了
      

  4.   

    我是这样处理的:(我页面用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();
                           用户就可以在浏览器中看到页面了,跟保存时效果一样,这样就保存了历史记录了