5

我正在displayItems.jsp从 servlet调用 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>

任何帮助表示赞赏。

4

7 回答 7

3

试试这个

RequestDispatcher RequetsDispatcherObj =request.getRequestDispatcher("/displayItems.jsp");
RequetsDispatcherObj.forward(request, response);
于 2011-04-01T09:53:30.440 回答
1

问题已经解决了。这就是方法:我有一个调用 DataPortal 的 DispatchServlet,而后者又调用了 displayItems.jsp。dispatcher.forward 在 DataPortal 中不起作用的原因是因为我在 DispatchServlet 中执行 dispatcher.include 来调用 DataPortal。当我将其更改为转发时,事情开始起作用。所以谢谢你们,你们的回复。

于 2011-04-08T17:10:59.420 回答
0

怎么样dispatcher.include(req, res)?这是如果您想从 servlet 调用 jsp。

于 2011-04-01T06:07:26.093 回答
0

forward 只会将请求转发到下一页,因为 sendRedirect 将首先返回到生成请求的页面并重定向到下一页

于 2011-04-01T06:57:37.347 回答
0
RequestDispatcher dispatcher = getRequestDispatcher("URL to jsp");
dispatcher.forward(request, response);
于 2014-03-25T06:43:52.580 回答
0

RequestDispatcher 调度程序 = getRequestDispatcher(request.getContextPath()+"/"); dispatcher.forward(请求,响应);

于 2019-02-15T09:10:19.720 回答
0

有一种更简单的方法可以从 Servlet 调用 .JSP 文件。

您甚至不需要在 web.xml 中创建标签。

只需输入:

  1. 使用 doGet 方法创建一个 Servlet;
  2. 调用方法sendRedirect;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.sendRedirect("index.jsp"); }

index.jsp 应该是您的 .JSP 文件名。请注意,您不要键入 / 之前指明的 .JSP 文件名!

于 2020-08-23T15:54:02.607 回答