У меня есть функция поиска, которая возвращает массив объектов в мою форму. Я перебираю список, используя теги forest JSTL.
<c:forEach items="${searchResults}" var="contact" varStatus="loop">
<div style="padding: 5px;">
${contact.firstName} ${contact.lastName}
<br>
${contact.primaryPhone}
<br>
//Is this the proper way to set up the url?
<a href="Contacts?search=${param.search}&id=${loop.index}">View Contact</a>
</div>
<br>
</c:forEach>
Когда пользователь щелкает ссылку внутри каждой строки, индекс строки передается в строку запроса, и в этот момент я хотел бы показать div, который содержит дополнительную информацию о пользователе.
У меня есть функция javascript, которую я использую для отображения div и центрирования его на экране, но мой вопрос в том, как обновить страницу с индексом, загруженным в строку запроса, и затем запустить мою функцию javascript?
Я подумал об использовании:
<c:if test="${not empty param.id}">
//Check if id in querystring is available and if so, display popup
</c:if>
Чтобы проверить, был ли индекс доступным в строке запроса, но я не думаю, что есть способ вызвать мою функцию из тега JSTL.
Должен ли я что-то делать на стороне сервера, когда я обращаюсь к сервлету, а не пытаться обработать это на стороне клиента? Я просто полагаю, что это пустая трата для запроса моей базы данных и установки другого параметра запроса, когда у меня уже есть информация, которая мне нужна, хранящаяся в параметре, чем я использую для отображения своего списка в любом случае.