我处于项目的架构阶段的早期——没有要发布的代码。基本上,我有一个控制器检索一个大致对应于页面/表单的“模型 bean”:因此它具有表单信息(选择了哪些复选框等)——并且还包含域 bean(数据库实体信息)。
如何让 Spring 在第一次使用时为“模型 bean”创建“默认”信息,但此后从会话中检索。同样,如何让 Spring 第一次从持久层创建域 bean,但之后从会话中检索它?编辑:仅使用注释。
我处于项目的架构阶段的早期——没有要发布的代码。基本上,我有一个控制器检索一个大致对应于页面/表单的“模型 bean”:因此它具有表单信息(选择了哪些复选框等)——并且还包含域 bean(数据库实体信息)。
如何让 Spring 在第一次使用时为“模型 bean”创建“默认”信息,但此后从会话中检索。同样,如何让 Spring 第一次从持久层创建域 bean,但之后从会话中检索它?编辑:仅使用注释。
如果我的问题是正确的。这就是我所做的。
在 LoginController 下,我有条件对用户进行身份验证。然后我在 bean 中添加用户信息并redirectAttrs.addFlashAttribute("mySession", thisIsUserSessionBean);
这被重定向到另一个名为 LandingController 的控制器。LandingController 下的注解如下所示。注:@SesssionAttributes
注解。您可以在此会话对象下添加任何信息。我的建议是,为了性能,让 bean 变小。
@Controller
@RequestMapping(value = "/homepage")
@SessionAttributes({"mySession"})
public class LandingController
我不希望将域 bean 粘在会话中。