Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.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
Spring boot 重定向时无法传递参数_Spring Boot_Spring Mvc - Fatal编程技术网

Spring boot 重定向时无法传递参数

Spring boot 重定向时无法传递参数,spring-boot,spring-mvc,Spring Boot,Spring Mvc,在我的spring boot应用程序中,当用户是管理员时,我想传递param errorMessage 片段: @Controller public class UsersController { @GetMapping("/users") public String getAllUsers(Model model, RedirectAttributes redirectAttributes) { logger.info("getAllUsers: model = "

在我的spring boot应用程序中,当用户是管理员时,我想传递param errorMessage

片段:

@Controller
public class UsersController {
  @GetMapping("/users")
    public String getAllUsers(Model model, RedirectAttributes redirectAttributes) {
        logger.info("getAllUsers: model = " + model + ", redirectAttributes= " + redirectAttributes);
        Set<Role> roleSet = new HashSet<>();
        roleSet.add(Role.ADMIN);
        adminsList = userRepository.findAllByRolesIn(roleSet);
        model.addAttribute("usersList", userRepository.findAll());
        model.addAttribute("adminsList", adminsList);
        model.addAttribute("appName", appName);
        return "users";
    }

    @RequestMapping("user/delete/{id}")
    public String deleteUser(@PathVariable("id") int id, RedirectAttributes redirectAttributes) {
        logger.info("user_id_to_delete = " + id);
        Optional<User> userAdmin = adminsList.stream()
                .filter(user -> user.getId() == id)
                .findFirst();
        if (userAdmin.isPresent() && adminsList.size() == 1) {
            String errorMessage = "In system must have at least one administrator";
            logger.error(errorMessage);
            redirectAttributes.addAttribute("errorMessage", errorMessage);
        } else {
            userRepository.deleteById(id);
        }
        return "redirect:/users";
    }
成功后,调用方法getAllUsers。但是param redirectAttributes为空。

基于api

调用该方法时,重定向属性模型为空,并且 除非该方法返回重定向视图名称或 重定向视图

重定向后,属性将自动添加到的模型中 为目标URL提供服务的控制器


重定向后,errorMessage将在getAllUsers模型中可用。

在重定向后,您应该在getAllUsers模型中获得errorMessageredirect@R.G是的,我是从模特那儿买的。谢谢
redirectAttributes.addAttribute("errorMessage", errorMessage);