从 Spring MVC 中的 JSP 按钮调用控制器方法

jar*_*sik 5 java spring jsp spring-mvc

我想使用 Spring MVC 中 JSP 页面上的按钮调用控制器方法,但我希望它停留在当前页面上,不要重新加载它或任何东西,只需调用一个方法。我觉得很难。我的按钮在cars.jsp页面上。为了留在这个页面上,我必须做这样的事情:

@RequestMapping(value="/start")
public String startCheckingStatus(Model model){
    System.out.println("start");
    model.addAttribute("cars", this.carService.getCars());
    return "car\\cars";
}
Run Code Online (Sandbox Code Playgroud)

按钮:

 <a href="<spring:url value="/cars/start"/>">Start</a>
Run Code Online (Sandbox Code Playgroud)

但这不是一个好的解决方案,因为我的页面实际上是重新加载的。我可以只调用controller方法而不进行任何刷新、重定向或任何操作吗?当我像这样删除返回类型时:

@RequestMapping(value="/start")
public void startCheckingStatus(Model model){
    System.out.println("start");
}
Run Code Online (Sandbox Code Playgroud)

我得到了 404。

Zee*_*han 2

在按钮上添加 onclick 事件并从 javascript 调用以下代码:

 $("#yourButtonId").click(function(){
    $.ajax({
        url : 'start',
        method : 'GET',
        async : false,
        complete : function(data) {
            console.log(data.responseText);
        }
    });

});
Run Code Online (Sandbox Code Playgroud)

如果您想等待调用结果,请保留,async : false否则将其删除。