2010-04-05 13 views
0

我想在HTML代碼發送一個表來使用如何具有HTML結構到JSP

response.setContentType("text/html"); 
PrintWriter out = response.getWriter(); 
out.println("<html>")..... 

然後用response.sendRedirect是(JSP名)一個jsp 送送HttpServletResponse的在爲PrintWriter表的jsp;

但是,這從來沒有與我一起工作,我懷疑printwriter具有servlet jsp通信的特定操作。

更新:所以要更清楚 在一個JSP中,我有各種參數,我把它們全部發送到一個servlet。 這一個;該servlet使用request.getParameter捕獲的所有參數構建一個表。 當html表是用out.println構建的時候: response.setContentType(「text/html」);
PrintWriter out = response.getWriter();

out.println("<html>"); 
out.println("<head>"); 
out.println("<title>Imput OPC</title>"); 
out.println("</head>"); 
out.println("<body>"); 
    out.println("<table border=1>"); 
. 
    . 
    . 
out.println("</body>"); 
out.println("</html>"); 

所以我想送這樣的結果:在HTML表格中顯示爲其他JSP

+0

這是一個真正奇怪的問題。您不會將HTML *發送到* JSP。請詳細說明你想做什麼,因爲我無法理解它。 – skaffman 2010-04-05 11:08:20

回答

1

它不工作的方式。 HTML應該在JSP內部,而不在Servlet內部。重複我:模板文本(HTML/CSS/JS)屬於JSP,Java代碼屬於Java類(以Servlet開頭)。

所有的servlet需要做的就是完成業務工作並將感興趣的數據放在合適的範圍(請求範圍?),最後將請求轉發到JSP頁面,然後在JSP中使用taglibs來控制頁面流並使用EL來訪問後端數據。

E.g.在一個doGet()以下:

List<Person> persons = personDAO.list(); 
request.setAttribute("persons", persons); // This way it's accessible in JSP by ${persons} 
request.getRequestDispatcher("/WEB-INF/persons.jsp").forward(request, response); 

persons.jsp以下:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 

... 

<table> 
    <c:forEach items="${persons}" var="person"> 
     <tr> 
      <td>${person.name}</td> 
      <td>${person.email}</td> 
      <td>${person.age}</td> 
     </tr> 
    </c:forEach> 
</table> 

c:forEachJSTL一部分。如果在您的環境中不可用,您可以通過簡單地將jstl-1.2.jar放入/WEB-INF/lib文件夾(假設您正在使用Servlet 2.5容器)來安裝它。