JSTL если тег для равных строк
у меня есть переменная от объекта на моей странице JSP:
<%= ansokanInfo.getPSystem() %>
значение переменной NAT, которое является правильным, и я хочу применить определенные элементы страницы для этого значения. Как я могу использовать тег, чтобы узнать дело? Я пробовал что-то вроде
<c:if test = "${ansokanInfo.getPSystem() == 'NAT'}">
process
</c:if>
но ничего не отображается. Как мне это сделать? Или я могу также использовать скриптлеты, т. е.
<% if (ansokanInfo.getPSystem().equals("NAT"){ %>
process
<% } %>
Спасибо за любой ответ или комментарий.
4 ответов:
попробуй:
<c:if test = "${ansokanInfo.PSystem == 'NAT'}">JSP / Servet 2.4 (я думаю, что это номер версии) не поддерживает вызовы методов в EL и поддерживает только свойства. Последние контейнеры сервлетов поддерживают вызовы методов (т. е. Tomcat 7).
Я думаю, что в других ответах отсутствует одна важная деталь, касающаяся имени свойства для использования в выражении EL. Правила преобразования имен методов в имена свойств указаны в '.decpitalize' который является частью стандарта Java bean:
обычно это означает преобразование первого символа из верхнего регистра в Нижний, но в (необычном) частном случае, когда есть более одного символа и как первый, так и второй символы прописные, оставим это в покое.
таким образом, "FooBah" становится "fooBah" и "Х" превращается в "Х", но "url" остается как "URL-адрес".
поэтому в вашем случае код JSTL должен выглядеть следующим образом, обратите внимание на заглавную "P":
<c:if test = "${ansokanInfo.PSystem == 'NAT'}">
вы можете использовать сценарии, однако, это не выход. Теперь встроенные скрипты или JAVA-код в ваших JSP-файлах считаются плохой привычкой.
вы должны прочитать на JSTL немного больше. Если объект ansokanInfo находится в области вашего запроса или сеанса, печать метода object (toString ()) следующим образом: ${ansokanInfo} может дать вам некоторую базовую информацию. ${ansokanInfo.pSystem} должен вызвать метод getter объекта. Если все это работает, вы можете использовать это:
<c:if test="${ ansokanInfo.pSystem == 'NAT'}"> tataa </c:if>
Comments