29. september 2006 - 18:07
Der er
10 kommentarer og 1 løsning
include JSP i servlet, med PrintWriter
Kan desværre ikke vise fejlen(er på besøg), men hvorfor kan dette ikke lade sig gøre? PrintWriter out = response.getWriter(); out.println("<HTML>"); include("/test.jsp"); out.println("</HTML>"); out.close(); thinge
Annonceindlæg fra HP
29. september 2006 - 21:39
#1
Sådan ser metoden ud: public void createPage(){ response.setContentType("text/html"); PrintWriter out; try { out = getResponse().getWriter(); out.println("<HTML><HEAD><TITLE></TITLE></HEAD>"); include("/untitled1.jsp"); out.flush(); out.println("</HTML>"); out.close(); } catch (IOException e) { e.printStackTrace(); } } fejlen ser sådan ud: 2006-09-29 17:23:23.363 NOTIFICATION J2EE JSP0008 Unable to dispatch JSP Page : java.lang.IllegalStateException: Writer already retrieved nogle ideer?? thinge
30. september 2006 - 03:18
#2
hvad er det for en include metode ? jeg kan ikke finde den i docs for HttpServlet
30. september 2006 - 08:16
#3
metoden er ned arvet: public void include(String jspPage){ try { getServletConfig().getServletContext().getRequestDispatcher(jspPage).include(request, response); // Includes a JSP-PAGE } catch (IOException e) { e.printStackTrace(); } catch (ServletException e) { e.printStackTrace(); } }
30. september 2006 - 08:20
#4
jeg har 3 klasser: 1. klasse: package hkclient.core; import java.io.Serializable; public interface Page extends Serializable{ public void createPage(); } 2. klasse: package hkclient.core; import java.io.IOException; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public abstract class AbstractHKPage extends HttpServlet implements Page { protected HttpServletRequest request; protected HttpServletResponse response; public void init(ServletConfig config) throws ServletException { super.init(config); } public void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ this.request = request; this.response = response; createPage(); } public void include(String jspPage){ try { getServletConfig().getServletContext().getRequestDispatcher(jspPage).include(request, response); // Includes a JSP-PAGE } catch (IOException e) { e.printStackTrace(); } catch (ServletException e) { e.printStackTrace(); } } public HttpServletRequest getRequest() { return request; } public HttpServletResponse getResponse() { return response; } } 3. klasse: package hkclient.structuredpages; import hkclient.core.AbstractHKPage; import java.io.IOException; import java.io.PrintWriter; public class DefaultPage extends AbstractHKPage{ public void createPage(){ response.setContentType("text/html"); PrintWriter out = null; try { out = getResponse().getWriter(); out.println("<HTML><HEAD><TITLE></TITLE></HEAD>"); out.close(); include("/untitled1.jsp"); out = getResponse().getWriter(); out.println("</HTML>"); out.close(); } catch (IOException e) { e.printStackTrace(); } } }
30. september 2006 - 08:27
#5
3. så sådan ud fra starten: package hkclient.structuredpages; import hkclient.core.AbstractHKPage; import java.io.IOException; import java.io.PrintWriter; public class DefaultPage extends AbstractHKPage{ public void createPage(){ response.setContentType("text/html"); PrintWriter out = null; try { out = getResponse().getWriter(); out.println("<HTML><HEAD><TITLE></TITLE></HEAD>"); include("/untitled1.jsp"); out.println("</HTML>"); out.close(); } catch (IOException e) { e.printStackTrace(); } } }
01. oktober 2006 - 03:28
#6
Du bruger Oracle ?
01. oktober 2006 - 03:35
#7
01. oktober 2006 - 11:11
#8
OK det er en bug Jeg tester lige thinge
01. oktober 2006 - 17:39
#9
med et workaround forslag: getOutputStream() som kan wrappes i en ny PrintWriter
01. oktober 2006 - 20:58
#10
vil gøre. Smider du lige et svar? Og takker for hjælpen thinge
01. oktober 2006 - 23:20
#11
ok
Kurser inden for grundlæggende programmering