繁体   English   中英

如何使页面不重定向到主页面

[英]How to get a page not redirect to the main

我绝对是JSP和Spring框架和注释的初学者。 我已经建立了一个标准的CRUD应用程序,但是有一个问题。 每当我想要添加编辑删除用户时,如果我位于索引大于1的页面上,应用程序会将我重定向到主“用户”页面,我如何使其保持静止在页面上?以上所有动作?

例如,当我要编辑“汤姆·汉克斯”时(14,第2页)

它将我重定向到第一页

但是我希望它仍然在同一页面上,在其中我可以添加编辑删除

UserController类在下面

@Controller
public class UserController
{
    private UserService userService;

    @Autowired
    public void setUserService(UserService userService)
    {
        this.userService = userService;
    }

    @RequestMapping(value = "users", method = RequestMethod.GET)
    public String listUsers(@RequestParam(value="page", required = false) Long page, Model model) {
        if (null == page)
            page = 1L;
        model.addAttribute("user", new User());
        model.addAttribute("searcheduser", new User());
        model.addAttribute("listUsers", userService.getUsers(page));
        model.addAttribute("page", page);

        return "users";
    }

    @RequestMapping(value = "/users/add", method = RequestMethod.POST)
    public String addUser(@ModelAttribute("user") User user) {
        if(user.getId() == 0)
        userService.addUser(user);
        else
            {
                userService.updateUser(user);
            }
        return "redirect:/users";
    }

    @RequestMapping("/remove/{id}")
    public String removeUser(@PathVariable("id") int id)
    {
        userService.removeUser(id);
        return "redirect:/users";
    }

    @RequestMapping("edit/{id}")
    public String editUser(@PathVariable("id") int id, @RequestParam(value="page", required = false) Long page, Model model) {
        if (null == page) page = 1L;
        model.addAttribute("user", userService.getUser(id));
        model.addAttribute("searcheduser", new User());
        model.addAttribute("listUsers", userService.getUsers(page));
        model.addAttribute("page", page);

        return "users";
    }

    @RequestMapping("userdata/{id}")
    public String userData(@PathVariable("id") int id, Model model) {
        model.addAttribute("user", userService.getUser(id));

        return "userdata";
    }


    @RequestMapping(value="searchresults", method = RequestMethod.POST)
    public String searchResults(@ModelAttribute("searcheduser") User user, Model model) {
        List<User> searchResult = userService.getUsers(user.getName());
        model.addAttribute("listUsers", searchResult);

        return "searchresults";
    }
}

page添加为重定向的参数,以进行删除和编辑:

@RequestMapping("edit/{id}")
public String editUser(@PathVariable("id") int id, @RequestParam(value="page", required = false) Long page, Model model) {
    if (null == page) page = 1L;
    model.addAttribute("user", userService.getUser(id));
    model.addAttribute("searcheduser", new User());
    model.addAttribute("listUsers", userService.getUsers(page));
    model.addAttribute("page", page);

    return "redirect:/users?page="+page;
}

删除同样如此。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM