Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring-发送要查看的对象列表并返回以在控制器中只发布一个对象_Java_Jsp_Spring Mvc_Controller - Fatal编程技术网

Java Spring-发送要查看的对象列表并返回以在控制器中只发布一个对象

Java Spring-发送要查看的对象列表并返回以在控制器中只发布一个对象,java,jsp,spring-mvc,controller,Java,Jsp,Spring Mvc,Controller,我想显示用户,并像图片中那样编辑或删除他们。问题是,如何仅发布一个对象,或在列表中标识要编辑或删除的对象 我想edit和delete应该提交两个参数:一个用于确定是哪种操作(edit,delete),另一个用于说明列表中要修改的对象(可能是索引?) 我在控制器中有以下方法: 用户表单是一个包装类,是教程后面的用户列表 我想我应该在JSP中添加一些东西来发送参数并在帖子持有者中管理它们,但不知道如何做 谢谢 您应该在单独的控制器方法中处理编辑和删除 将submit按钮更改为input type=

我想显示用户,并像图片中那样编辑或删除他们。问题是,如何仅发布一个对象,或在列表中标识要编辑或删除的对象

我想edit和delete应该提交两个参数:一个用于确定是哪种操作(edit,delete),另一个用于说明列表中要修改的对象(可能是索引?)

我在控制器中有以下方法:

用户表单是一个包装类,是教程后面的用户列表

我想我应该在JSP中添加一些东西来发送参数并在帖子持有者中管理它们,但不知道如何做

谢谢

  • 您应该在单独的控制器方法中处理编辑和删除

  • 将submit按钮更改为input type=“button”,并处理click js事件,在该事件中,您可以构建逻辑来决定必须调用哪个控制器方法(可能是动态构建url)并从js提交

  • 在编辑/删除操作之后,您可能需要调用get,它反过来查询db,用户可以在jsp上看到最新的结果

  • /** Default GET form handler for MaganeUsers, in submission will call listusers */
    @RequestMapping(value="admin/manageusers",  method=RequestMethod.GET)
    public String listusers(Model model) {
        List<User> users = userService.listUsersDetails();
        UserForm userform = new UserForm();
        userform.setUserForm(users);
    
        model.addAttribute("userForm", userform);       
        return "admin/manageusers";
    }
    
    <c:if test="${not empty userForm}">
    <sf:form method="post" action="manageusers" modelAttribute="userForm">
    <table>
    <tr>
        <th>No.</th>
        <th>Username</th>
        <th>User Roles</th>
        <th>Enabled</th>
    </tr>
    <c:forEach items="${userForm.userForm}" var="users" varStatus="i">
        <tr>
            <td align="center">${i.count}</td>
            <td><sf:input path="userForm[${i.index}].username" value="${users.username}"/></td>
            <td><sf:input path="userForm[${i.index}].userRole" value="${users.userRole}"/></td>
            <td><sf:input path="userForm[${i.index}].enabled" value="${users.enabled}"/></td>
            <td><button name="submit" value="i">Edit</button><button name="submit" value="i">Delete</button></td>
        </tr>
    </c:forEach>
    </table> 
    </sf:form>
    </c:if>
    
    /** Default GET form handler for MaganeUsers, in submission will call listusers */
    @RequestMapping(value="admin/manageusers",  method=RequestMethod.POST)
    public String deleteuser(Model model, @ModelAttribute("userForm") UserForm userForm) {
        ....
        // code here?
        userService.deleteUser(username);
        return "admin/manageusers";
    }