【问题标题】:how to retain textbox value after response.sendredirectresponse.sendredirect后如何保留文本框值
【发布时间】:2025-12-26 07:55:13
【问题描述】:

我正在尝试创建一个搜索过滤器,我将我的表单从一个 jsp 页面发布到一个 servlet,它包含文本框和下拉列表,我在同一个 jsp 页面上显示搜索结果,但我想保留这些值在我的文本框中,以及在 response.sendRedirect 到该 jsp 页面之后在下拉列表中选择的值。请帮助我只是一个java初学者。

【问题讨论】:

  • 您如何在同一个 jsp 页面上显示搜索结果,即您是否将搜索结果从 servlet 传递给 JSP?怎么样?
  • 您不应该在发布后进行重定向。只需将 post 替换为 get 即可。然后你可以像往常一样使用param:*.com/q/3937624

标签: jsp


【解决方案1】:

我认为比使用标准表单提交和 response.sendRedirect 组合进行搜索并在同一页面上显示结果更好的解决方案是使用 AJAX 进行表单提交。 AJAX 代表异步 Javascript 和 XML,因此要求您可以使用 javascript。网上有很多教程解释了如何进行基于 AJAX 的请求,而且使用 jQuery 之类的东西更容易。

话虽如此,通过重定向保留查询参数的唯一方法是将它们存储在请求之外。为您的问题执行此操作的最简单且可能是最好的方法是使用会话。以下是其基本用法的简要示例:

String myValue = "myValue";
HttpSession session = request.getSession();
session.setAttribute("myParameter", myValue);
String sameValue = session.getAttribute("myParameter");

【讨论】: