java - 请求后如何持久化请求数据

标签 java jquery html jsp

我正在使用 JSP。我有这个用例:

主页包含一个搜索框、一个提交按钮和一个下拉列表。用户从下拉列表中选择某些内容,在搜索框中输入查询并点击提交按钮后,它会转到同一页面,并显示一些基于查询的结果。

主页包括其他页面(例如 results.jsp、searchtables.jsp ),这些页面仅在搜索返回某些结果后才可见。我想在显示这些结果后保留在主页(下拉列表和搜索框)中输入的值。

因此,如果主页是/home ,则单击按钮后,它仍然位于附加了/search 的同一页面中,并且显示检索到的结果。

有什么办法可以实现这个目标吗?

谢谢

最佳答案

如果您使用转发而不是重定向,则可以在 Controller 中使用请求属性:

request.setAttribute("searchVal", searchVal); 
request.setAttribute("dropdownVal", dropdownVal);

然后在jsp页面上您可以访问这样的值:

<input type="text" name="search" value="${searchVal}"/> //will be empty if searchVal is never set


<select>
    <option value="val1" ${dropdownVal == 'val1' ? 'selected="selected"' : ''}>val1</option>
</select>

如果您正在进行重定向,则可以将值附加为网址查询,然后使用 ${params.search}${params.dropdown} 访问它们> 在jsp页面上。

最后一个选项是在 HTML5 web storage objects 中使用 localStorage它在客户端而不是服务器端存储内容,但您需要编写一些 JavaScript 代码来处理它。

关于java - 请求后如何持久化请求数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24831348/

相关文章:

html - CSS3 过渡不适用于显示属性

java - 是否可以使用 "$1"作为另一个方法的参数并将返回的字符串放在 .replaceAll 中的位置?

Java Instant.parse on Date java 8

java - JAVA中生成无私钥的CMSSignedData

java - 使用 Spring 4.0.2 作为 Jboss 7 模块时出现 ClassNotFoundException : org. jboss.vfs.VFS

javascript - jQuery "Meet the team"效果

javascript - 是否可以对 CSS 动画进行排队(示例)?

java - 如何将域字段设置为数字列表

javascript - 如何只从没有列名和括号的对象数组中获取值?

html - 标题图像覆盖导航功能