我正在开发一个Spring MVC应用程序,我遇到了以下问题。
我有 RegistrazioneInfo 类,其中包含用户在表单中插入的一些信息:
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;
...............................................
...............................................
...............................................
}
包含一些处理某些资源请求的方法。
好的,我的问题是我想通过使用 @SessionAttributes Spring注释将以前的 RegistrazioneInfo 类的实例用作会话属性,如下所示: http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/mvc.html#mvc-ann-sessionattrib
我的问题是,在前面的例子中做了类似的事情:
@SessionAttributes("pet")
public class EditPetForm {
// ...
}
究竟什么是宠物?我认为它类似于id,它标识必须用作会话属性的对象或类似的东西。如何将我的 RegistrazioneInfo 的实例作为会话属性?
答案 0 :(得分:1)
@SessionAttributes在Controller类(@Controller)中声明,所以在类级别。 Pet是一个持久存在于HttpSession中的Bean对象
答案 1 :(得分:0)
这通常会列出模型属性的名称,它应该透明地存储在会话或某些会话存储中,作为表单支持bean。在类型级别声明,应用于带注释的处理程序类操作的模型属性。
(重点是我的)
另请注意,如文档中所示,您不应将其用于"非临时"元件。