如何在spring中将一个列表<object>值从一个控制器传递并检索到另一个控制器?</object>

时间:2012-12-10 10:26:34

标签: spring spring-mvc

我是spring的新手。我的任务是使用spring,hibernate和jsp进行登录设计和代码以及一些CURD操作。我需要将listcontroller中的列表值传递给另一个控件。

public ModelAndView loginProcess(HttpServletRequest request, HttpServletResponse response){  
          //..... 
          return new ModelAndView(new RedirectView("/dvd_hibernate/DvdController/dvdCURDOperation"),"userDetails",userDetails);}

我重定向到DvdController以及传递userDetails.Is它是正确的方法吗?如果是这样如何检索另一个控制器中的userDetails值?我没有使用注释。 请让我清楚。

3 个答案:

答案 0 :(得分:2)

我认为你正在寻找的是Spring中的会话变量。实际上有4种方法,每种方式都有其优点和缺点。您可以在以下链接中找到更多详细信息。它在网上提供了关于这个主题的最佳解释之一。

Richard Chesterwood的"Using Sessions in Spring-MVC"

答案 1 :(得分:1)

为什么不能直接在loginProcess中调用dvdCURDOperation方法。

如果您的目标是302重定向,以便浏览器网址更改为

/dvd_hibernate/DvdController/dvdCURDOperation

您必须在Session中保存userDeatils并在dvdCURDOperation方法中检索它。

request.getSession.setAttribute("userDetails", userDetails);
return new ModelAndView("redirect:/dvd_hibernate/DvdController/dvdCURDOperation");

答案 2 :(得分:0)

正如您现在无疑发现的那样,将ModelMap传递给RedirectView将无效。其他人提到了会话变量,但如果您希望保持控制器无状态,则可以将所需的任何参数作为URL参数传递。