#java #spring
#java #spring
Вопрос:
У меня есть две службы (методы) в классе контроллера Spring MVC.Теперь я хочу переместить объект Map из одного метода в другой метод со значениями.
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
}
}
есть ли какой-либо способ сделать подобное
пожалуйста, дайте решение.
Заранее спасибо
Комментарии:
1. Проблема решена, здесь я создал глобальный объект HashMap в классе контроллера, затем я прочитал объект Map, где я хочу.
2. Вы должны предоставить свой ответ в разделе ответы. Делая это, другие получат выгоду от вашего решения
Ответ №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.
}
}
Ответ №2:
вы можете попробовать метод перенаправления.из reg для обновления с параметром