【问题标题】:Add text java requestDispatcher添加文本 java requestDispatcher
【发布时间】:2017-01-16 08:50:38
【问题描述】:

我想用相同的 url 引导用户回到上一页

if (somecheck) { 
 req.getRequestDispatcher("register.jsp?email="+req.getParameter("email")).forward(req, resp);
}

但这会将用户定向到"/register.jsp" 而不是"/register.jsp?email=testemail@mail.com"

如何将电子邮件添加到 url?

【问题讨论】:

  • email 参数已在您的请求中。只需从请求对象的注册 jsp 中读取它即可。
  • @Faraz Durrani 但我希望它在 url 中
  • 那么你应该使用response.sendRedirect("register.jsp?email="+req.getParameter("email"));只有重定向可以改变实际的url(或者你可以在js中做)。 Forward 不会改变 url,它会给出请求资源的响应。
  • 很遗憾,sendRedirect() 不会跟踪初始请求中发送的任何参数。粗略地说,它返回浏览器并强制它使用传递给sendRedirect的url发送另一个请求

标签: java jsp requestdispatcher


【解决方案1】:
ServletContext context = request.getServletContext();
String path = "/register.jsp?email="+request.getParameter("email");
RequestDispatcher rd = context.getRequestDispatcher(path);
rd.include(request, response);

【讨论】:

    【解决方案2】:

    感谢 Anton Dovzhenko,解决方案使用 response.sendRedirect("register.jsp?email="+req.getParameter("email"));

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多