最近,上网无意间发现,有很多网站的明明是 jsp或者是asp.net写出来,但结尾都是html静态页面。
关于静态页面的好处,我不想多阐述,但如何将动态处理的jsp页面,处理为 html静态页面。
这个问题,一直都在困扰我。
刚开始接触jsp时,本人都是在servlet中使用out输出。这个问题就出现了,不好使用css+div修饰页面,过于单调。
希望各位高手指点一二。
如果有这个包就更好~~ 万分感谢!

解决方案 »

  1.   

    上面的打错了,像FreeMarker这样的模板语言都可以的
      

  2.   

    听说过Html页面可以转为Jsp页面!
    对于这个吗!
    wo也想知道!
    还得请教高手啊!
    !!!!!
      

  3.   

    一般不都是先设计页面(html)再去实现(JSP)的吗 ?
      

  4.   

    呵,JSP放在容器里执行
    转到客户端就成了HTML格式的文件了
    只要把源代码存为HTML的就可以了
      

  5.   

    那是假象,现在的网站都是用框架(过滤器)开发的 
    其实,后面的后缀名是可以再框架里定义的,你访问的看似是html文件,其实在服务器端首先经过过滤器转成后台真正的jsp页面的
      

  6.   

    哈哈,看了这么多无聊的发的帖子,真是急,还是我说两句,转成html方法很多,这里我给个小例子,不要告诉我你看不懂
    是servelt的,也不要告诉我你不懂用。
    package SystemTools;import java.io.ByteArrayOutputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStreamWriter;
    import java.io.PrintWriter;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.ServletOutputStream;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpServletResponseWrapper;public class UrlToHtml extends  HttpServlet  {
    private static final long serialVersionUID = -3616674121206024906L; //public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      public void jsptohtml(HttpServletRequest request, HttpServletResponse response )throws ServletException, IOException{
    //  String bh=request.getParameter("bh");           
    ServletContext sc = getServletContext();
    String url = "www.163.com"; // jsp的路径
    RequestDispatcher rd = sc.getRequestDispatcher(url);
    final ByteArrayOutputStream os = new ByteArrayOutputStream();
    final ServletOutputStream stream = new ServletOutputStream() {
    public void write(byte[] data, int offset, int length) {
    os.write(data, offset, length);
    } public void write(int b) throws IOException {
    os.write(b);
    }
    };
    final PrintWriter pw = new PrintWriter(new OutputStreamWriter(os));
    HttpServletResponse rep = new HttpServletResponseWrapper(response) {
    public ServletOutputStream getOutputStream() {
    return stream;
    } public PrintWriter getWriter() {
    return pw;
    }
    };
    rd.include(request, rep); pw.flush(); FileOutputStream fos = new FileOutputStream("d:\\index.html"); // 把jsp输出的内容写到d:\test.htm
    os.writeTo(fos);
    fos.close();
    }
    }这段代码是我以前的csdn网友给我提供的,效果不错,都有6年的历史了,现在放出来,也谢谢以前不知名的网友
      

  7.   

    我有一点不明白的是为什么要用final来定义
      

  8.   

       html可以看成String 对象,java最后交给浏览器的,肯定是html格式的String
      

  9.   

    呵呵,本人的理解就是去访问一个动态的页面,然后他会返回一堆文本,也就是HTML语言之类的,把这些文本放在一个新的文件中,后缀是html就行了。貌似这样就是动态转换成静态了。
      

  10.   

    http://blog.csdn.net/java2000_net/archive/2008/12/21/3561234.aspx
      

  11.   

    那些页面根本就不是写个 JSP 然后再很做作地去转成 HTML 的,如果是真正的 HTML 是在后台数据录进去之后直接生成 HTML 文件的,不需要通过 JSP 再倒一下手。一般使用模板工具来做这些事情,比如:Velocity, FreeMarker 等。
      

  12.   

    有的网站其实就是用了urlrewrite伪静态化了下的