将数据传入重定向网页

2021-06-09 22:47:29 浏览数 (3)

在做springboot的web开发时,常常用到thymeleaf模板,有时要回显数据,比如说post请求的时候传入数据,进行完数据校验后,将一些想要返回的值放入model中传入下一个网页,这时候不要直接retun"",因为这样在你刷新网页时就会出现是否重复提交表单,这是一种很不好的现象,所以要用到重定向的操作:

这时候就不能简单的用model.addAttribute()来回显数据了,而要用如下方式: RedirectAttributes redirectAttributes,将该类注入,使用addFlashAttribute方法即可。 如下例:

代码语言:javascript复制
  @PostMapping("/index")
    public String indexPostPage(@Valid SparkParameter sparkParameter, BindingResult bindingResult, RedirectAttributes redirectAttributes) {
        if (bindingResult.hasErrors()) {
            ArrayList<String> strings = new ArrayList<>();
            bindingResult.getFieldErrors().forEach((item) -> {
                String message = item.getDefaultMessage();
                strings.add(message);
            });
            redirectAttributes.addFlashAttribute("msg", "发送任务失败"   strings.toString());
            return "redirect:http://localhost:"   port   "/index";
        }
        log.info("开始往发送任务 topic--->"   productTopic);
        this.kafkaTemplate.send(productTopic, JSON.toJSONString(sparkParameter));
        redirectAttributes.addFlashAttribute("msg", "发送任务成功");
        return "redirect:http://localhost:"   port   "/index";
    }

0 人点赞