如何删除List<>中的元素来自jsp页面?

时间:2015-07-24 09:13:15

标签: java hibernate jsp

你能帮帮我吗?我有一些代码:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
    <head>
        <title></title>
    </head>
    <body>
        <h1>admin panel</h1>
        <table>
            <c:forEach items="${users}" var="item">
                <tr>
                    <td><c:out value="${item.username}"/></td>
                    <td><c:out value="${item.email}"/></td>
                    <td><c:out value="${item.enabled}"/></td>
                </tr>
            </c:forEach>
        </table>
    </body>
</html>

控制器:

@RequestMapping("/admin")
public String adminPanel(ModelMap model)
{
    List<User> users = this.userService.showAllUsers();
    model.addAttribute("users",users);
    return "adminpanel";
}

我需要管理用户。我在dao和service中有方法从数据库中获取用户。如何从jsp删除或更新用户属性?类似于asp.net mvc中的datagridview

3 个答案:

答案 0 :(得分:0)

您可以在表格中添加另外两个td&#39;如:

<td><a href="/yourDeleteAction?delete=${item.userID}">Delete</td>

并在带有请求映射/yourAction的控制器定义方法中获取查询字符串并删除用户并重定向到同一个/ admin。

更新:

<td><a href="/yourUpdateAction?update=${item.userID}">Update</td>

1)获取userID的数据并显示在一个屏幕上进行更新。

2)说update.jsp对该数据进行更改并提交给cotroller中的方法说/ updateDone make database interaction and redirect to / admin

注意:有很多方法我只是建议你采用这种方法。

答案 1 :(得分:0)

我认为你应该使用Ajax来做到这一点。添加指向您的代码的链接:

<td><a href="/admin/deleteUser?delete=${item.userID}">Delete</td>
<td><a href="/admin/updateUser?update=${item.userID}">Update</td>

调用另一个注释为/ deleteUser或/ updateUser的控制器方法。然后删除或更新用户并填写表格。

答案 2 :(得分:0)

真正的更新,删除不应该直接来自JSP,JSP应该只是发出请求,服务器端的应用程序应该进行真正的数据库更改并发送回更改的数据。

对于DataGrid Like Feature,您可以使用支持JSON请求的JQuery库,例如JQWidgets或任何其他提供类似功能的请求,并且可以轻松集成到您的Web应用程序。

您应该利用Spring的REST URI功能并根据它编写您的方法。

您可以使用@ResponseBody Annotation将数据检索为JSON并使用它来填充网格,任何单元格更新都可以与对特定REST方法的AJAX请求绑定,您可以按照MVC指南更新,删除网格

希望它有所帮助。