如何设置按钮 onclick 事件并链接到 Thymeleaf 控制器?

Kan*_*e01 4 java thymeleaf spring-boot

我正在尝试编写一些代码,一旦用户单击按钮,它将在我的 Thymeleaf 控制器类中执行一些代码集。我尝试查看 stackoverflow 上找到的其他各种代码,但是,我无法找到正确的解决方案。我得到的错误是代码不会打印出所需的语句。

代码:

<button type="button" th:onclick="doStuffMethod()"> Hello</button>
Run Code Online (Sandbox Code Playgroud)

控制器:

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

Run Code Online (Sandbox Code Playgroud)

LHC*_*HIN 5

一个简单的方法可以通过以下两个步骤来实现:

第 1 步:进行doStuffMethod访问/do-stuff

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

第 2 步:使用window.location.href访问/do-stuff

<button type="button" th:onclick="|window.location.href='/do-stuff'|">Hello</button>
Run Code Online (Sandbox Code Playgroud)

以上所有内容都可以doStuffMethod()在按下按钮后成功调用您的,但由于没有调用模板,它会抛出一些异常do-stuff
因此,更好的方法是创建一个名为 的模板doStuff.html,并将其名称作为字符串返回doStuffMethod()

doStuff.html

<h1>Success</h1>
Run Code Online (Sandbox Code Playgroud)

并按如下方式修改您的控制器:

@RequestMapping(value="/do-stuff")
public String doStuffMethod() {
    System.out.println("Success");
    return "doStuff";
}
Run Code Online (Sandbox Code Playgroud)