【问题标题】:How to delete element in List<> from jsp page?如何从jsp页面中删除List<>中的元素?
【发布时间】:2015-07-24 09:13:15
【问题描述】:

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

<%@ 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 之类的东西

【问题讨论】:

  • 可以在jsp中使用scriptlet&lt;% %&gt;在jsp中编写java代码。
  • @Rahul 呸!将 Sciplets 转换成上面相当不错的 MVC 架构?!你是认真的吗?
  • 我认为您正在搜索类似这样的内容:loianegroner.com/2010/09/… 我没有测试 ist,但在我看来就像您对“datagridview”的意思。

标签: java hibernate jsp


【解决方案1】:

我认为您应该使用 Ajax 来执行此操作。将链接添加到您的标签,例如:

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

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

【讨论】:

    【解决方案2】:

    您可以在表中再添加两个 td,例如:

    <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 进行数据库交互并重定向到 /admin

    注意:有很多方法,我只是建议您使用这种方法。

    【讨论】:

      【解决方案3】:

      真正的更新、删除不应该直接从 JSP 发生,JSP 应该只是发出请求,而您在服务器端的应用程序应该进行真正的数据库更改并将更改的数据发回。

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

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

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

      希望对你有帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-26
        • 1970-01-01
        • 2015-07-08
        • 2019-09-02
        • 1970-01-01
        • 2017-12-28
        • 2019-10-09
        • 1970-01-01
        相关资源
        最近更新 更多