如何在SpringMVC项目中将对象的实例作为会话属性?
我正在开发一个SpringMVC应用程序,我有以下问题 我有一个RegistrazioneInfo类,它包含一些由用户插入表单的信息:如何在SpringMVC项目中将对象的实例作为会话属性?,spring,spring-mvc,spring-annotations,Spring,Spring Mvc,Spring Annotations,我正在开发一个SpringMVC应用程序,我有以下问题 我有一个RegistrazioneInfo类,它包含一些由用户插入表单的信息: public class RegistrazioneInfo { @NotNull @Size(min=16, max=16) private String codiceFiscale; String gRecaptchaResponse; public String getCodiceFiscale() {
public class RegistrazioneInfo {
@NotNull
@Size(min=16, max=16)
private String codiceFiscale;
String gRecaptchaResponse;
public String getCodiceFiscale() {
return codiceFiscale;
}
public void setCodiceFiscale(String codiceFiscale) {
this.codiceFiscale = codiceFiscale;
}
public String getgRecaptchaResponse() {
return gRecaptchaResponse;
}
public void setgRecaptchaResponse(String gRecaptchaResponse) {
this.gRecaptchaResponse = gRecaptchaResponse;
}
}
然后我有一个控制器类:
@Controller
public class RegistrazioneController extends BaseController {
private RegistrazioneInfo registrazioneInfo;
...............................................
...............................................
...............................................
}
它包含一些处理对某些资源的请求的方法
好的,我的问题是,我想通过使用@SessionAttributesSpring注释,使用前面的registioneInfo类的实例作为会话属性,如下所示:
我的问题是,在上一个示例中,执行以下操作:
@SessionAttributes("pet")
public class EditPetForm {
// ...
}
那么什么是宠物呢?我认为它类似于标识必须用作会话属性的对象的id或类似的东西。如何将我的注册信息的实例作为会话属性?来自:
这通常会列出模型属性的名称,它们应该透明地存储在会话或一些会话存储中,用作表单支持bean。在类型级别声明,应用于带注释的处理程序类操作的模型属性
(重点是我的)
还请注意,如文档中所示,不应将其用于“非临时”元素。@SessionAttributes在控制器类(@Controller)中声明,因此在类级别上也是如此。
Pet是一个持久存在于HttpSession中的Bean对象,只需像平常一样将其放入会话即可。你不应该为此滥用
@SessionAttributes
。@SessionAttributes
的目的是在请求单个控制器之间存储一个(或多个)对象,在会话的生命周期内不存储该对象。