Нужно передать параметр из ссылки Thymeleaf в URL

у меня есть веб страница, на ней есть несколько ссылок(зависит от количества данных в БД). Мне нужно, нажав на ссылку, передать текст ссылки в параметры URL страницы, на которую я направляюсь.

К примеру, ссылка с текстом Example, я нажимаю на нее и попадаю на страницу localhost.com/home/example.

Можно ли так сделать и если да, то каким способом? Спасибо


Ответы (1 шт):

Автор решения: Slava Ivanov

Если вы хотите использовать Thymeleaf для формирования ссылки, то для этого используйте Link URLs. Для примера, если текст линка приходит в переменной ${titleFromBackEnd} ...

<a href="#" th:href="@{/home/{linkTitle}(linkTitle=${titleFromBackEnd})}" th:text="${titleFromBackEnd}">TitleReplacedByThymeleaf</a>

Если ва хотите формировать линк только при нажатии на сам линк, то вам нужно использовать JavaScript, потому что к этому времени Thymeleaf уже закончил формирование страницы и вы имеете дело с простым HTML.

Ваш JavaScript коде может выглядеть так ...

// когда страничка загрузится 
$(function() {
    // для всех кликов на все линки
    $('a').on("click", function(e) {
        // заменяем URL на значение которое в линке плюс имя линка
        e.originalEvent.currentTarget.href = $(this).attr('href') + "/" + $(this).text();
    });
});
→ Ссылка