如何在表单提交之间保留 ModelMap? [英] How to preserve the ModelMap between form submits?

查看:16
本文介绍了如何在表单提交之间保留 ModelMap?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 ModelMap 中添加了一个 Map,它包含一个下拉列表,当表单初始化时我正在填充 ModelAttribute:

I am adding to the ModelMap a Map which contains a list to go on a drop down an I am populating the ModelAttribute when the form initialises:

@RequestMapping(method = RequestMethod.GET)
    public String initForm(HttpServletRequest httpRequest, ModelMap model)
    {
        model.addAttribute("myList", myMap);
        return "MyForm";
    }

它按预期工作,但是当用户提交表单时,此列表将从地图中丢失.

It works as expected however when the user submits the form this list is lost from the map.

@RequestMapping(method = RequestMethod.POST, value ="/dosearch")
    public String processSearch(... ModelMap model)
    {
                .....
    return new ModelAndView("MyForm",model);

上述方法不起作用.

如何在表单提交之间保留地图?

How can I prserve the map between form submits?

推荐答案

没有.在这里,即使是 flash 范围也无济于事,因为您没有使用后重定向.以下是选项:

No. Even a flash scope won't help you here, because you are not using redirect-after-post. Here are the options:

  • 以html形式输出所有值,然后将它们提交到/dosearch,您就可以从请求中获取它们
  • 使用会话来存储值(更糟糕的选择)
  • output all values in the html form, then they will be submitted to /dosearch and you'll be able to get them from the request
  • use the session to store the values (worse option)

这篇关于如何在表单提交之间保留 ModelMap?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆