【问题标题】:Pass result from confirmation message to spring mvc controller将确认消息的结果传递给 spring mvc 控制器
【发布时间】:2018-12-26 13:32:34
【问题描述】:

我在 spring mvc 中有一个项目分配,我有一个从表中删除元素的功能,我想实现对操作的确认。

我没有 js 方面的经验,我在 w3schools 中看到了这段代码,但未能实现它,所以它可以为我工作。

JSP:
<td><a href="${deleteUrl}" onclick="deleteConfirm()">Delete</a></td>
<script>
    function deleteConfirm(){
        var confirmation = confirm("Do you really want to delete this item 
    from the list?");
        if(confirmation===false){
            var message = "false";
            return message;
        }
    }
 </script>


Controller : 
@GetMapping(Mappings.ITEMS)
public String booksList(Model model,HttpServletRequest request){
 String message = request.getAttribute("message").toString();
    if(message.equals("false")){
        return "redirect:/home";
    } else {
        delete elemtn ..
        ...
    }
  }

我可以检查任何来源吗?

【问题讨论】:

标签: javascript java spring jsp jstl


【解决方案1】:

如果您调用由控制器处理的 URL ${deleteUrl},则无论确认弹出窗口如何,都会发生删除。

在 JavaScript 中,您必须使用函数将文本/链接/按钮绑定到表格中,该函数执行以下操作:

  1. 打开一个弹出窗口并然后...
  2. 确认后使用 AJAX 调用 URL。

为了简洁起见,让我们使用jQuery,我发现它是一个非常强大的库。我可以构建的最简单的代码如下所示:

function confirmDelete(url) {
    var result = confirm("Do you want to delete an entry?");      
    if (result) {
        $.ajax({
            type : "DELETE",
            contentType : "application/json",
            url : url,
            timeout : 10000,
            success : function(data) {
                // update the table
            },
            error : function(e) {
                // handle the error
            }
        });
    }
}

【讨论】:

    猜你喜欢
    • 2013-03-19
    • 1970-01-01
    • 2014-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多