JSTL если тег для равных строк



у меня есть переменная от объекта на моей странице JSP:



<%= ansokanInfo.getPSystem() %>



значение переменной NAT, которое является правильным, и я хочу применить определенные элементы страницы для этого значения. Как я могу использовать тег, чтобы узнать дело? Я пробовал что-то вроде



<c:if test = "${ansokanInfo.getPSystem() == 'NAT'}">      
process
</c:if>


но ничего не отображается. Как мне это сделать? Или я могу также использовать скриптлеты, т. е.



<% if (ansokanInfo.getPSystem().equals("NAT"){ %>
process
<% } %>


Спасибо за любой ответ или комментарий.

592   4  

4 ответов:

попробуй:

<c:if test = "${ansokanInfo.PSystem == 'NAT'}">

JSP / Servet 2.4 (я думаю, что это номер версии) не поддерживает вызовы методов в EL и поддерживает только свойства. Последние контейнеры сервлетов поддерживают вызовы методов (т. е. Tomcat 7).

<c:if test="${ansokanInfo.pSystem eq 'NAT'}">

Я думаю, что в других ответах отсутствует одна важная деталь, касающаяся имени свойства для использования в выражении 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

    Ничего не найдено.