Как установить событие onclick кнопки и ссылку на контроллер Thymeleaf? - PullRequest
0 голосов
/ 24 сентября 2019

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

Код:

<button type="button" th:onclick="doStuffMethod()"> Hello</button>

Контроллер:

    public void doStuffMethod() {
        System.out.println("Success");
    }

1 Ответ

0 голосов
/ 24 сентября 2019

Простой способ добиться этого, выполнив 2 шага:

Шаг 1: Сделайте doStuffMethod для посещения с /do-stuff

@RequestMapping(value="/do-stuff")
public void doStuffMethod() {
    System.out.println("Success");
}

Шаг 2: Используйте window.location.href, чтобы посетить /do-stuff

<button type="button" th:onclick="|window.location.href='/do-stuff'|"> Hello</button>

Все это может успешно вызвать ваш doStuffMethod() после нажатия кнопки, но это вызовет некоторое исключение из-зак шаблону с именем do-stuff.
Следовательно, лучше создать шаблон с именем doStuff.html и вернуть его имя в виде строки в doStuffMethod().

doStuff.html

<h1>Success</h1>

И измените ваш контроллер следующим образом:

@RequestMapping(value="/do-stuff")
public String doStuffMethod() {
    System.out.println("Success");
    return doStuff;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...