JSP динамика c содержимое из строки запроса - PullRequest
1 голос
/ 25 мая 2020

Я пытаюсь создать динамическую c веб-страницу, показывающую разные сообщения в соответствии с параметром строки запроса, например

http://localhost: 8080 / example? Param = 10

На моей странице jsp для получения параметра я использую

<%= request.getParameter("param") %> 

, и это правильно оценивает правильное значение. Затем я пытаюсь объединить это с некоторыми предложениями IFs , чтобы переключиться на другой контент:

<% if (request.getParameter("param") == "10") { %>
<!-- show something -->
<%
}
%>

, но это, похоже, не работает.

Если я попробую

<%= if (request.getParameter("param") == "10") { %>
<!-- show something -->
<%
}
%>

Я получаю внутреннюю ошибку сервера.

Какой подход является правильным для отображения динамического c содержимого, оценивающего параметр строки запроса?

Спасибо

1 Ответ

0 голосов
/ 26 июля 2020

Мне удалось решить проблему, используя библиотеки JSTL.

Сначала скачайте jstl-api.jar и jstl-impl.jar и скопируйте их в tomcat WEB-INF / lib каталог вашего веб-приложения.

Перезапустите tomcat и на своей странице. jsp добавьте

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

в начало файла

Теперь объявите новую переменную с помощью

<c:set var="param" value='<%= request.getParameter("param") %>' />

Наконец, используйте директивы для изменения визуализации содержимого на основе param value

<c:choose>
    <c:when test="${param == '10'}"> <!-- content --> </c:when>
    <c:when test="${param == '20' || param == '30'}"> <!-- content --> </c:when>
</c:choose>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...