Jak przekazać dane wyjściowe serwletu do strony jsp?Wyświetlanie wyników serwletu na stronie jsp.
Oznacza to, że wynik zostanie wyświetlony na stronie JSP.
Jak przekazać dane wyjściowe serwletu do strony jsp?Wyświetlanie wyników serwletu na stronie jsp.
Oznacza to, że wynik zostanie wyświetlony na stronie JSP.
Aby przesłać żądanie/odpowiedź z serwletu do czegoś innego (np JSP) będziesz chciał patrzeć na klasę RequestDispatcher
. Klasa ServletContext ma metodę, aby uzyskać program rozsyłający, który można wywołać z poziomu serwletu.
Na przykład (w promieniu doPost
/doGet
metody aplet jest):
RequestDispatcher rd = getServletConfig().getServletContext()
.getRequestDispatcher("/jsp/myfile.jsp").forward(request,response);
Zazwyczaj nie używam aplet do generowania HTML. Zwykle używasz do tego JSP/EL. Używanie out.write
i konsorcjów do strumieniowego przesyłania treści HTML jest uważane za niewłaściwą praktykę. Lepiej korzystaj z atrybutów żądań.
Na przykład:
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
Object data = "Some data, can be a String or a Javabean";
request.setAttribute("data", data);
request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
}
mapie w web.xml na <url-pattern>
z np /page
. Umieść stronę JSP pod numerem /WEB-INF
, aby uniemożliwić bezpośredni dostęp. Następnie w JSP można użyć EL (Expression Language), aby uzyskać dostęp scoped atrybuty:
<p>The data from servlet: ${data}</p>
połączenia serwletu przez http://example.com/context/page
. Proste. W ten sposób kontrolujesz wyjście i prezentację w jednym miejscu, stronie JSP.
Niż Q.it działa – pavan
getServletConfig().getServletContext()
.getRequestDispatcher("/jsp/myfile.jsp").forward(request,response);
jest VOID
typ, nie może powrócić RequestDispatcher
rd.
Dokładnie przeciwnie, o to pyta OP. – schlingel
Nie widzę, jak to prawda ... – inkredibl
Problem: Jesteś w Servecie i chcesz renderować konkretną stronę JSP. Rozwiązanie: Włącz wynik serwletu do strony JSP. (Co?) Ale tego nie chcę. Chcę wysłać użytkownika po określonej akcji do określonej strony JSP. To może być takie samo lub mogą się różnić w zależności od parametrów (strona błędu, strona z wynikami itd.). – schlingel