我在Spring MVC控制器类中有两种服务(方法)。现在我想将Map Object从一个方法移动到另一个带有值的方法。
public class Controller{
@RequestMapping(value="/reg", method=RequestMethod.POST)
public ModelAndView loginData(@ModelAttribute("loginBean")LoginBean
loginBean,ModelMap model) throws IOException, ParseException
{
//Here i have map object with values.
}
@RequestMapping(value="/update",method=RequestMethod.POST)
public ModelAndView updateForm(@ModelAttribute("frontBean")FrontBean
frontBean,ModelMap model)
{
//here i want to Map Object for update the values
}
}
有什么办法可以这样 请给出解决方案。 预先感谢
答案 0 :(得分:1)
方法1:使用HttpSession。 您可以使用 HttpSession 来存储对象。参见下面的示例
public class Controller{
@RequestMapping(value="/reg", method=RequestMethod.POST)
public ModelAndView loginData(@ModelAttribute("loginBean")LoginBean
loginBean,ModelMap model) throws IOException, ParseException
{
Map map = new HashMap();
HttpSession session = req.getSession(false);
session.setAttribute("myMapObject", map);
}
@RequestMapping(value="/update",method=RequestMethod.POST)
public ModelAndView updateForm(@ModelAttribute("frontBean")FrontBean
frontBean,ModelMap model)
{
HttpSession session = req.getSession(false);
session.getAttribute("myMapObject", map);
session.removeAttribute("myMapObject");
}
}
方法2:使用 FlashAttribute 。它提供了一种方法,用于存储在Post / Redirect / Get上的重定向时需要在下一页上显示的那些属性。
public class Controller{
@RequestMapping(value="/reg", method=RequestMethod.POST)
public ModelAndView loginData(@ModelAttribute("loginBean")LoginBean
loginBean,ModelMap model,RedirectAttributes redirectAttrib) throws IOException, ParseException
{
Map map = new HashMap();
redirectAttrib.addAttribute("myMap", map);
return "redirect:/update";
}
@RequestMapping(value="/update",method=RequestMethod.POST)
public ModelAndView updateForm(@ModelAttribute("frontBean")FrontBean
frontBean,@ModelAttribute("myMap")Map myMap,ModelMap model)
{
//Use myMap object accordingly.
}
}
答案 1 :(得分:-1)
您可以尝试从reg重定向method.from以参数更新