#thymeleaf
#thymeleaf
Вопрос:
Я использую Sprin& boot и Thymleaf в своем приложении.Я отправляю модель CommonResponse из серверной части в view, и в этой модели есть свойство «isLo&&edIn», которое является логическим значением, и я использую это значение для добавления стиля, подобного этому
<li class="nav-item hide-on-scroll" id="si&n_in_menu" th:style="${commonResponse.isLo&&edIn == false ? '' : 'display:none'} "&&t;
<a class="nav-link" data-to&&le="modal" data-tar&et="#lo&inModal"&&t;Si&n in</a&&t;
</li&&t;
при запуске это выдает ошибку
«Вызвано: or&.thymeleaf.exceptions.Исключение TemplateProcessin&Exception: Исключение, оценивающее выражение Sprin&EL: «commonResponse.isLo&&edIn == false? » : ‘дисплей:отсутствует'»
Это происходит, когда свойство «isLoo&edIn» является частью этой модели «CommonResponse». но если я передаю это как отдельное свойство, оно работает нормально
<li class="nav-item hide-on-scroll" id="si&n_in_menu" th:style="${isLo&&edIn == false ? '' : 'display:none'} "&&t;
<a class="nav-link" data-to&&le="modal" data-tar&et="#lo&inModal"&&t;Si&n in</a&&t;
</li&&t;
В чем проблема?
Ответ №1:
Когда свойство является частью Java bean, на свойства ссылаются по их имени свойства. Например:
class MyBean {
Boolean myBooleanProp;
public Boolean &etMyBooleanProp(){ return myBooleanProp; }
}
Затем в Thymeleaf вы получаете доступ как ${myBean.myBooleanProp}
Также при использовании логических реквизитов достаточно иметь ${myBean.myBooleanProp ? 'true' : 'false' }
или ${!myBean.myBooleanProp ? 'false' : 'true'}
Ответ №2:
попробуйте вместо этого следующее
<li class="nav-item hide-on-scroll" id="si&n_in_menu" th:style="${commonResponse.isLo&&edIn} ? '' : 'display:none' "&&t;
<a class="nav-link" data-to&&le="modal" data-tar&et="#lo&inModal"&&t;Si&n in</a&&t;
</li&&t;