gpt4 book ai didi

java - Spring MVC JSP Jquery 在按钮单击后重定向错误上调用 Controller 方法

转载 作者:太空宇宙 更新时间:2023-11-04 06:25:53 26 4
gpt4 key购买 nike

  • 假设,我是 Spring MVC、JSP、脚本/Ajax 新手

    这是我的任务。

在 Spring MVC 中,我的 jsp 页面中有按钮,单击按钮时,我想执行一些任务( Controller 方法),它不返回任何内容。我想显示同一页面。它不应重新加载页面,也不应重定向到其他页面。

这就是我正在做的事情......

  1. 我有一个包含很多按钮的页面。我正在使用 bootstrap css 和按钮标签。就像,

    开始

  2. 单击此按钮时,我将从 Controller 调用 Ajax 方法,

        $('#startApp').click(function() {
    BootstrapDialog.show({
    message : 'Sure ?!',
    buttons : [ {
    label : 'Ok',
    cssClass : 'btn-default',
    action : function(dialogItself) {
    $.ajax({
    type : "POST",
    url : "/MyApp/startApp",
    success : function(response) {
    alert("Success");
    }
    });

    dialogItself.close();
    }
    }, {
    label : 'Close',
    action : function(dialogItself) {
    dialogItself.close();
    }
    } ]
    });
  3. 这会调用 Controller 方法,

         @RequestMapping(value = "/startApp", method = RequestMethod.POST)
    public void start() {// some operation.}
  4. 但是,当我这样做时,操作已执行,但在日志中我收到以下错误,

    根本原因调度程序:com.ibm.ws.jsp.webcontainerext.JSPErrorReport:JSPG0036E:无法找到资源/WEB-INF/views/startApp.jsp

问题,

  • 这是正确的做法吗?
  • 我不想重定向到startApp.jsp,我希望它返回到我的index.jsp(代码所在的位置),我该如何实现这一点?

最佳答案

您需要向客户返回一些内容。 Spring 默认尝试发送回 startApp.jsp,因为这就是 url (/startApp) 中的内容。试试这个:这将发回 HTTP OK 状态 (200)。

@RequestMapping("/startApp", method = RequestMethod.POST)
public ResponseEntity start()
{
return new ResponseEntity(HttpStatus.OK);
}

如果您想要的话,您还可以通过返回 POJO 来发回 json(它将由 Jackson JSON 库自动序列化),甚至可以通过返回 String 来发回一个简单的字符串作为 html 内容。

关于java - Spring MVC JSP Jquery 在按钮单击后重定向错误上调用 Controller 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26798858/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com