Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 17.06.2011
Сообщений: 35

Thymeleaf безопасный вызов полей при поиске в списке

05.06.2025, 15:02. Показов 1053. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.

Есть список, в котором в некоторых позициях есть topic, а в некоторых нет.
{pointOfContact: ‘Email’, topic: ‘promoNews’, isSubscribed: true}
{pointOfContact: ‘Email’, isSubscribed: true}

Соответственно, если осуществляю выборку без topic, то всё нормально, а если с topic, то при его отсутствии валится ошибка.

Это работает:
<th:block th:with="selection=${loyaltyObject.extra Info.customerLoyalty.customer.subscripti ons.?[pointOfContact == 'Email' and isSubscribed == true]}">

Но мне надо проверять и topic тоже, чтобы в выборку добавлялись записи, когда topic отсутствует, либо равен ‘promoNews’.

Подскажите, как это сделать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.06.2025, 15:02
Ответы с готовыми решениями:

Корректный вывод списка на thymeleaf
Здравствуйте! Пытаюсь вывести с сервера данные в необходимом порядке. На сайте создан древовидный...

Spring + Thymeleaf. Как создать зависимые выпадающие списки
Я новичок и бьюсь уже две недели. Нужно создать выпадающие списки, например от выбора страны во...

Thymeleaf создание нового списка без null
Доброго времени суток. Есть список customerSegmentations, у элементов этого списка может быть, а...

5
1199 / 768 / 128
Регистрация: 10.03.2012
Сообщений: 4,967
05.06.2025, 15:35
Попробуйте так
HTML5
1
<th:block th:with="selection=${loyaltyObject.extraInfo.customerLoyalty.customer.subscriptions.?[pointOfContact == 'Email' and isSubscribed == true and (topic == 'promoNews' or topic == null)]}">
0
1 / 1 / 0
Регистрация: 17.06.2011
Сообщений: 35
05.06.2025, 15:49  [ТС]
Так не работает, тоже сначала именно так делал.

В итоге нашёл решение, вокруг которого ходил, но забывал ставить имя поля в кавычки))

(get('topic') == 'promoNews' or get('topic') == false)
0
1199 / 768 / 128
Регистрация: 10.03.2012
Сообщений: 4,967
05.06.2025, 15:51
Цитата Сообщение от PolarWolf Посмотреть сообщение
(get('topic') == 'promoNews' or get('topic') == false)
Как в итоге выглядит код?
0
1 / 1 / 0
Регистрация: 17.06.2011
Сообщений: 35
05.06.2025, 17:10  [ТС]
<th:block th:with="selection=${loyaltyObject.extra Info.customerLoyalty.customer.subscripti ons.?[pointOfContact == 'Email' and isSubscribed == true and (get('topic') == 'promoNews' or get('topic') == false)]}">
0
1199 / 768 / 128
Регистрация: 10.03.2012
Сообщений: 4,967
05.06.2025, 17:21
Ещё бы такое вариант попробовал
HTML5
1
<th:block th:with="selection=${loyaltyObject.extraInfo.customerLoyalty.customer.subscriptions.?[pointOfContact == 'Email' and isSubscribed == true and (topic == 'promoNews' or not topic)]}">
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.06.2025, 17:21
Помогаю со студенческими работами здесь

Thymeleaf получить значение выбранного Radio
Добрый день. Хочу получить определенный RadioButton выбранный на UI вот тестовый код: &lt;table...

Java Spring Thymeleaf отправить файл пользователю
Я новичок в серверном программировании.. Написал контроллер для создания файла txt с...

Table thymeleaf
Добрый день. Сейчас я рисую таблицу так: &lt;tr th:each=&quot;viewAvailableWhisky :...

Thymeleaf Swich with SpringSecurity
Добрый день всем. Хочу сделать так, что бы когда юзер смотрит страницу он не видел товары с...

Проект spring boot + thymeleaf + bootstrap +
Всем привет! Может у кого-то есть открытый проект, или его часть с которым можно было бы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru