powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / jstl c:if пробел в условии
3 сообщений из 3, страница 1 из 1
jstl c:if пробел в условии
    #37836161
NorthDragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Натолкнулся на странное поведение jstl.


Есть условие:

Код: java
1.
2.
3.
                            <c:if test="${fn:length(sessionScope.collection) != 0} ">
                                Not Empty!!!
                            </c:if>



Коллекция в сессии лежит, но условие не срабатывает.
Как оказалось из-за пробела на конце условия. Если убрать - все ок.


Кто подскажет это фича или баг?

Правильное условие:


Код: java
1.
2.
3.
                            <c:if test="${fn:length(sessionScope.collection) != 0}">
                                Not Empty!!!
                            </c:if>
...
Рейтинг: 0 / 0
jstl c:if пробел в условии
    #37836272
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"<c:if" выполняется в случае, когда атрибут test равен true, являясь типом boolean или Boolean (JSR-52, 5.2).
Согласно приложению А.7 той же спецификации (а точнее - А.7.4 - Coerce A to Boolean):
Код: plaintext
1.
2.
3.
4.
If A is null or "", return false
Otherwise, if A is Boolean, return A
Otherwise, if A is String, and Boolean.valueOf(A) throws exception, error.
Otherwise. if A is String return Boolean.valueOf(A)
otherwise, error
Твоя результирующая строка будет "true ".
Можешь сделать проверку и убедиться, что
Код: java
1.
2.
Boolean.valueOf("true") == true;
Boolean.valueOf("true ") == false;


Поэтому никаких фич или багов, все чистенько.
...
Рейтинг: 0 / 0
jstl c:if пробел в условии
    #37836300
NorthDragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruckПоэтому никаких фич или багов, все чистенько.

Спасибо, за обьяснение.
Похоже на правду.

Насчет, все чистенько - сомневаюсь....
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / jstl c:if пробел в условии
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]