@Biaci_Anj

Thymeleaf, как добавить значение по умолчанию для параметра, если он отсутствует при нажатии на ссылку?

Подскажите, пожалуйста, как, используя Thymeleaf. добавить параметр в ссылку со значением по умолчанию, только если его уже нет в ссылке?

Вот так вот я добавляю новый параметр, но этот линк еще должен добавлять параметр sortDir и sortField с дефолтными значениями, если они отсутствуют.
<ul th:with="urlBuilder=
${T(org.springframework.web.servlet.support.ServletUriComponentsBuilder).fromCurrentRequest()}"
    <li><a th:href="@{${urlBuilder.replaceQueryParam('category', 'vehicles').build().toUriString()}}"
               class="dropdown-item" href="#" >Show all</a></li>


Буду очень благодарен за помощь

P.S. это необходимо, потому что иначе в контроллере мне придется обрабатывать 3 ситуации:
1. Когда только параметр category
2. Когда category && sortDir sortField
3. Когда только параметры sortDir sortField

Думал, можно ли сделать так, чтобы исключить ситуацию, когда category параметр один, добавляя отсутствующие.
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
Thymeleaf, как добавить значение по умолчанию для параметра, если он отсутствует при нажатии на ссылку?

Никак. thymeleaf есть на стороне сервера. А нажатие на ссылку происходит на стороне клиента (в браузере), где нет никакого thymeleaf.
Соответственно, вам нужно валидировать средствами js || jQuery.
Условно говоря, вещаете обработчик на клик по ссылке
Погуглите jQuery .on('click', function(){}) или .click()
Если нет нужного параметра, то средствами js добавляете его и все.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы