Thymeleaf - Как добавить проверенный атрибут для ввода условно
Как известно, компонент input
имеет атрибут checked
, чтобы пометить флажок как включен по умолчанию или нет.
<input type="checkbox" name="mycheckbox" checked="checked"/>
Чтобы отключить флажок по умолчанию, следует объявить исключение checked
. Можно ли установить атрибут checked
с помощью флага в Thymeleaf?
Ответы
Ответ 1
Согласно официальной документации тимелеафа
http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#fixed-value-boolean-attributes
th:checked
рассматривается как логический атрибут с фиксированным значением.
<input type="checkbox" name="active" th:checked="${user.active}" />
Где user.active
должен быть boolean
.
Итак, в вашем случае это должно быть, как упоминал Андреа,
<input type="checkbox" name="mycheckbox" th:checked="${flag}" />
Ответ 2
После небольшого рытья я узнал решение. Для этой цели существует атрибут th:checked
.
Это работает:
<input type="checkbox" name="mycheckbox" th:checked="${flag} ? 'checked'">
Это не удается:
<input type="checkbox" name="mycheckbox" th:checked="${flag} ? 'checked' : ''">
Если для параметра checked=""
установлено значение input
, оно отмечено как отмеченное. Этот метод действителен и для пользовательских атрибутов th:attr
. Рассмотрим следующий пример:
<p th:attr="customattr=${flag}?'attr'></p>
Если flag
истинно, оно заменяется на:
<p customattr="attr"></p>
Если flag
является ложным, оно заменяется на:
<p></p>
Ответ 3
Вы можете условно добавить проверенный атрибут к радиовходу в thymeleaf, как показано ниже:
<input type="radio" th:checked="${sales.sales_head.sales_type} == CREDIT" class="sales_type" value="CREDIT" name="sales_type" >
Здесь, если sales_type - CREDIT, радио будет проверено. В противном случае это останется непроверенным.
Ответ 4
Ни одно из предложенных решений не помогло мне.
Этот работал:
th:checked="${#strings.equals(param.myRequestParameterXYZ, 'foobar')}"