У меня есть страница поиска jsp (Search.jsp) и страница результатов (Result.jsp), они оба могут выбирать критерии поиска. а затем передал параметры в файл контроллера Java (Controller.java), чтобы построить строку запроса и выполнить поиск запроса. Строка запроса и результаты поиска будут переданы в Result.jsp для отображения.
В настоящее время я использую servletContext для запоминания обработанной строки запроса, и если пользователи используют Result.jsp для выбора критериев поиска, Controller.java добавит такие критерии к существующей строке запроса. Если я сделаю несколько поисков, используя Result.jsp. Например, строка запроса будет отображать ((Query1) AND Query2) AND Query3
на странице Result.jsp. Затем с помощью кнопки «Назад» браузера, чтобы вернуться на предыдущую страницу отображения. Для того же примера строка запроса отображает (Query1) AND Query2
. Тогда, если я буду искать снова. Будет использована строка запроса (((Query1) AND Query2) AND Query3) AND Query4
. Я знаю, что это ожидается с моей текущей реализацией, поскольку Result.jsp не вносит никаких изменений в обработанную строку запроса.
Однако мне хотелось бы, чтобы пользователь использовал кнопку «Назад» в браузере, например, строка запроса отображалась на странице как (Query1) AND Query2
, а для поиска выполнялась строка запроса ((Query1) AND Query2) AND Query4
, в которой строка запроса основана на построении в текущей отображаемой строке запроса на странице Result.jsp плюс текущий выбор. Как я могу это сделать? Это звучит довольно просто, но я попробовал несколько способов использования in Result.jsp для обновления строки запроса, но все еще не смог сделать это правильно. Поэтому мне интересно, может быть, мой подход к использованию <c:set>
неверен. Я хотел бы услышать ваше предложение. Заранее спасибо.