我知道两种方法:
1.在servlet中写入很多的html标签
2.在jsp页面中用很多的java代码请问有没有更加方便的方法来实现动态页面的编写!??????????????javajspservlethtmlweb

解决方案 »

  1.   

    用struts2之类的框架,你会发现你的1、2两种方法中的弊端都可以适当避免。
      

  2.   

    建议使用mvc框架:struts2,spring-mvc。试图层用:velocity
      

  3.   

    最快的方法就是jsp,所有代码都写在jsp中,前台,服务器端代码。这是最快也是最不好的一种方法。既然要快,就这样做吧。
      

  4.   


    那也就是必须要建一个静态的jsp页面 每次都要请求这个地址!我写的这个是N多个子页面,他们归于同一个主题,他们的内容模板都一样,地址不一样 请求的内容就不一样!这吧不会是建N多个静态的页面吧!请问这样的东西怎么处理?
      

  5.   

    iframe试试
      

  6.   

    package xxcw.common.tools;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 toHtml extends HttpServlet { public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 

    String url="";  
    String name=""; 

    ServletContext sc = getServletContext(); 
        response.setHeader("Pragma","No-cache"); 
        response.setHeader("Cache-Control","no-cache"); 
        response.setDateHeader("Expires", 0); 
    //String file_name=request.getParameter("file_name");//你要访问的jsp文件,如index.jsp 
    //则你访问这个servlet时加参数.如http://localhost/toHtml file_name=index 

    //url = "/jsp/indexmodel.jsp";//这是你要生成HTML的jsp文件,如 
    url = request.getParameter("sourceurl");
    //http://localhost/index.jsp的执行结果. 

    //name=request.getRealPath("")+"\\jsp\\index.html";//这是生成的html文件名,如index.htm. 
    name=request.getRealPath("")+request.getParameter("aimurl");//这是生成的html文件名,如index.htm. 

    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(name); //把jsp输出的内容写到d:\test.htm 
    os.writeTo(fos); 
    fos.close(); 
    response.setContentType("application/octet-stream");
    response.setContentType("text/html; charset=GBK");
    PrintWriter out=response.getWriter();
    //out.println("首页生成完毕!"); 
    String aim=request.getParameter("aim")==null?"":request.getParameter("aim");
    if(aim.equals("")){
    aim="self";
    }
    if(request.getParameter("turnjsp")!=null){
    out.println("<script language='JavaScript'>"); 
    out.println(request.getParameter("aim")+".location.href='"+request.getParameter("turnjsp").replace('|', '&')+"'"); 
    out.println("</script>"); 
    }else
    if(request.getParameter("functionname")!=null){
    out.println("<script language='JavaScript'>"); 
    out.println(request.getParameter("aim")+"."+request.getParameter("functionname")+"();"); 
    out.println("</script>"); 
    }else
    if(request.getParameter("refurbishinfo")!=null){
    out.println("<script language='JavaScript'>"); 
    out.println("alert('刷新"+new String(request.getParameter("refurbishinfo").getBytes("ISO8859_1"), "GBK")+"成功!');"); 
    out.println("</script>"); 
    }
    } }
      

  7.   

    我之前做的静态化原理是,get获得url页面数据,输出为html。
      

  8.   


    那也就是必须要建一个静态的jsp页面 每次都要请求这个地址!我写的这个是N多个子页面,他们归于同一个主题,他们的内容模板都一样,地址不一样 请求的内容就不一样!这吧不会是建N多个静态的页面吧!请问这样的东西怎么处理?是不是就像从新闻列表页面打开新闻详细页面一样?
    你请求servlet,然后在里面组织要显示的数据,然后把数据传给最终显示的jsp,在jsp页面里把数据显示出来就行了。
      

  9.   

    Java代码尽量写在Servlet中,页面内容尽量卸载Jsp中,页面逻辑尽量使用JSTL标签库和EL表达式。
      

  10.   

    不知道你说的动态页面是什么意思,servlet更擅于写业务逻辑,而jsp适合做展现,各有各的优缺点,这就是mvc,也就是动态页面的编写
      

  11.   

    用ssh2框架,速度快,而且也能大大降低工作量