如何使用 Spring Boot Async 在不重新加载页面的情况下提交表单?

我可以在提交表单并通过 JQuery 传递它时使用 Ajax 来完成。我想知道是否有使用 Spring Boot @Async 的替代方法?


到目前为止,这是我的代码,您可以看到 Post Request 仍然返回一个新的 ModelAndView 页面。


@GetMapping("/register")

public @Valid ModelAndView forPageScreen(@ModelAttribute("user") User user)

{   

    ModelAndView users = new ModelAndView("Practice");

    return users;

}



@Async

@Transactional

@PostMapping("/register")

public @Valid CompletableFuture<ModelAndView> addUser(@Valid @ModelAttribute("user") User user)

{

    ModelAndView mav = new ModelAndView("Practice");


    try {

        Thread.sleep(5000);

        userRep.save(user);


    } catch (InterruptedException e) {

        // TODO Auto-generated catch block

        e.printStackTrace();

    }

    return CompletableFuture.completedFuture(mav);

}


慕哥6287543
浏览 176回答 1
1回答

天涯尽头无女友

@Async用于服务器端异步,而不是用于 AJAX。这是完全不同的用例我可以在提交表单并通过 JQuery 传递时使用 Ajax 来完成这就是要走的路。异步应该在客户端处理(在这种情况下是 JQuery)。就服务器而言,该 httpRequest 没有任何异步(在这种情况下)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java