【发布时间】:2010-07-27 08:25:10
【问题描述】:
我有一个jsp搜索页面(Search.jsp)和一个结果页面(Result.jsp),两者都可以选择搜索条件。然后将参数传递给 java 控制器文件 (Controller.java) 以构建查询字符串并执行查询搜索。查询字符串和搜索结果将传递给 Result.jsp 进行显示。
目前我使用 servletContext 来记住处理后的查询字符串,如果用户使用 Result.jsp 选择搜索条件,Controller.java 会将这些条件附加到现有的查询字符串中。如果我使用 Result.jsp 进行一些搜索。例如,查询字符串将在 Result.jsp 页面上显示 ((Query1) AND Query2) AND Query3。然后使用浏览器的返回按钮返回上一个显示页面。对于同一示例,查询字符串显示(Query1) AND Query2。然后,如果我再次搜索。将使用查询字符串(((Query1) AND Query2) AND Query3) AND Query4。我知道这是我当前的实现所期望的,因为 Result.jsp 不会对已处理的查询字符串进行任何修改。
但是,我想当用户使用浏览器的返回按钮时,例如查询字符串在页面上显示为(Query1) AND Query2,并执行搜索,查询字符串应该是((Query1) AND Query2) AND Query4,其中查询字符串是基于构建的在 Result.jsp 页面上当前显示的查询字符串加上当前选择。我怎样才能做到这一点?这听起来很简单,但我尝试了几种使用 Result.jsp 更新查询字符串的方法,但仍然无法正确处理。因此我想知道我使用<c:set> 的方法可能是错误的。我想听听你的建议。提前致谢。
【问题讨论】: