【问题标题】:Spring MVC delete using modalSpring MVC 使用模态删除
【发布时间】:2015-05-14 01:06:36
【问题描述】:

我在使用模式删除项目时遇到问题。我可以只使用获取 id 的 href 并将其传递给控制器​​来删除。但我不知道如何在模态中获取项目的 id 并删除它。

要执行的人员和操作列表

<c:forEach var="user" items="${listpersons}">
                <tr>
                    <td><a href="#">${user.username}</a><!--  <span>Clients</span> --> </td>
                    <td><a href="#">${user.email}</a></td>
                    <td>
                        <button class="btn btn-white btn-sm" data-toggle="tooltip" data-placement="top" title="Compose"><a href="#"><i class="fa fa-envelope-o"></i></a></button>
                        <a href="${pageContext.request.contextPath}/edit?id=${user.id}&name=${user.username}&password=${user.password}&email=${user.email}"><i class="fa fa-edit" title="Edit"></i></a></button>
                        <a href="${pageContext.request.contextPath}/delete?id=${user.id}" title="Delete"><i class="fa fa-trash-o"></i></a>
                        <a href="#myModal" role="button" class="btn btn-large btn-primary" data-toggle="modal">Launch Demo Modal</a>
                    </td>
                    <td class="text-right mail-date">Jan 16</td>
                </tr>
 </c:forEach>

这部分是点击pops.up时的模态按钮,如果我想真正删除该项目

<a href="#myModal" role="button" class="btn btn-large btn-primary" data-toggle="modal">Launch Demo Modal</a>

这是我的删除按钮。我可以在这里删除,但我想使用模态删除

<a href="${pageContext.request.contextPath}/delete?id=${user.id}" title="Delete"><i class="fa fa-trash-o"></i></a>

这是我的模态弹出窗口

<div id="myModal" class="modal fade">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title">Confirm Delete</h4>
            </div>

            <div class="modal-body">
                <p>Are you sure you want to delete this user? </p>
            </div>
            <div class="modal-footer">

                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                <a href="${pageContext.request.contextPath}/delete?id=${user.id}" title="Delete"><i class="fa fa-trash-o"></i></a>
            </div>
        </div>
    </div>
</div>

我不知道如何在模式弹出窗口中传递人员的 ID。删除不起作用。它不识别任何 id

这是控制器

@RequestMapping(value = "/delete", method = RequestMethod.GET)
    public ModelAndView delete(@ModelAttribute("SpringWeb")User user, ModelMap model, HttpServletRequest request)
    {
        try
        {
            UserDao ud = new UserJDBC();
            int id = Integer.parseInt(request.getParameter("id"));
            int delete = ud.deleteUser(id);
            model.addAttribute("message", "User deleted Successfuly");

        }
        catch(Exception e)
        {
            System.out.print(e);
            model.addAttribute("message", "Error occured in deleting user.");
        }

        return new ModelAndView("admin-view-users");
    }

用户未被删除。单击模式上的删除时,我得到了这个 delete?id=0

【问题讨论】:

  • 你能发布控制器和你得到的错误吗?
  • @minion,我已经添加了控制器。在模态框内单击“删除”时,我无法获取此人的 ID。 id = 0。
  • 观察。使用 spring 时,您可以使用 @RequestParam 获取 id 值。保持这一点,当您单击模态窗口中的 href 时看到的 url 是什么?和点击非模态时看到的一样吗?
  • 模态按钮href就是#MyModal。并且模态内的删除按钮是 delete?id=0

标签: java javascript spring spring-mvc bootstrap-modal


【解决方案1】:

附加${user.id} 与弹出显示按钮的href 值,即

#myModal_${user.id}

foreach 循环中添加模态弹出窗口,现在在 ${user.id} 后面附加弹出窗口 ID。 即myModal_${user.id}

用此代码替换您的 foreach 并删除弹出窗口。

<c:forEach var="user" items="${listpersons}">
<tr>
    <td><a href="#">${user.username}</a><!--  <span>Clients</span> --> </td>
    <td><a href="#">${user.email}</a></td>
    <td>
        <button class="btn btn-white btn-sm" data-toggle="tooltip" data-placement="top" title="Compose"><a href="#"><i class="fa fa-envelope-o"></i></a></button>
        <a href="${pageContext.request.contextPath}/edit?id=${user.id}&name=${user.username}&password=${user.password}&email=${user.email}"><i class="fa fa-edit" title="Edit"></i></a></button>
        <a href="${pageContext.request.contextPath}/delete?id=${user.id}" title="Delete"><i class="fa fa-trash-o"></i></a>
        <a href="#myModal_${user.id}" role="button" class="btn btn-large btn-primary" data-toggle="modal">Launch Demo Modal</a>
    </td>
    <td class="text-right mail-date">Jan 16</td>
</tr>

<div id="myModal_${user.id}" class="modal fade">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title">Confirm Delete</h4>
            </div>

            <div class="modal-body">
                <p>Are you sure you want to delete this user? </p>
            </div>
            <div class="modal-footer">

                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                <a href="${pageContext.request.contextPath}/delete?id=${user.id}" title="Delete"><i class="fa fa-trash-o"></i>Delete</a>
            </div>
        </div>
    </div>
</div>  
</c:forEach>

注意:-请不要忘记在 foreach 中添加模态弹出窗口。

【讨论】:

    猜你喜欢
    • 2011-05-04
    • 1970-01-01
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    • 2016-04-09
    • 2021-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多