вызов jsp из сервлета - PullRequest
       12

вызов jsp из сервлета

4 голосов
/ 01 апреля 2011

Я звоню JSP, displayItems.jsp из сервлета, DataPortal.java.Сначала я попытался сделать это, используя RequestDispatcher, как это,

String url = "/displayItems.jsp";
ServletContext context = getServletContext();
RequestDispatcher dispatcher = context.getRequestDispatcher(toDo);
dispatcher.forward(req, res);

хорошо ... элемент управления перешел на страницу JSP, однако он напечатал все содержимое файла JSP (включая теги ивсе) вместо отображения в виде веб-страницы.Затем я попытался добиться этого с помощью response.sendRedirect(url);, и на этот раз он дал мне пустую страницу.Что я здесь не так делаю?JSP выглядит так:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
    <meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="expires" content="0" />        
<meta http-equiv="Content-Style-Type" content="text/css" />
<script src="http://jqueryjs.googlecode.com/files/jquery-1.3.js" type="text/javascript"></script>
</head>
    <body>
    <div>i am in display category</div>
    </body>
</html>

Любая помощь приветствуется.

Ответы [ 6 ]

3 голосов
/ 01 апреля 2011

попробуйте

RequestDispatcher RequetsDispatcherObj =request.getRequestDispatcher("/displayItems.jsp");
RequetsDispatcherObj.forward(request, response);
1 голос
/ 08 апреля 2011

Проблема решена. Вот как: у меня был DispatchServlet, вызывающий DataPortal, который, в свою очередь, вызывал displayItems.jsp. Причина, по которой dispatcher.forward не работал в DataPortal, заключается в том, что я выполнял dispatcher.include в DispatchServlet для вызова DataPortal. Когда я изменил это на вперед, все стало работать. Так что, ребята, спасибо за ваш ответ.

0 голосов
/ 15 февраля 2019

RequestDispatcher dispatcher = getRequestDispatcher (request.getContextPath () + "/");dispatcher.forward (запрос, ответ);

0 голосов
/ 25 марта 2014
RequestDispatcher dispatcher = getRequestDispatcher("URL to jsp");
dispatcher.forward(request, response);
0 голосов
/ 01 апреля 2011

forward просто перенаправит запрос на следующую страницу, где sendRedirect сначала вернется на страницу, где он был создан, и перенаправит на следующую страницу

0 голосов
/ 01 апреля 2011

А как насчет dispatcher.include(req, res)? Это если вы хотите вызвать jsp из сервлета.

...