[英]@SessionAttribute not being set
我真的需要你的帮助。 我突然像往常一样在使用Portlet应用程序时突然不得不离开计算机。 当我返回时,出现了NullPointerException。 好那是为什么 嗯...我的会话不包含它应该容纳的对象。 因此,我可能会失去一些东西,但是这就是我一直看待SessionAttributes的方式。
我将我的Controller注释为:
@SessionAttributes({
SOME_ATTR
})
然后我有一个带有以下签名的方法:
@Valid @ModelAttribute(SOME_ATTR) SomeObject someObject
还有我的会话属性的初始化方法:
@ModelAttribute(SOME_ATTR)
public SomeObject getSomeEmptyObject() {
return someUtils.createSomeObject();
}
当我调试我的应用程序时,我发现:
someObject
所以我的两个大问题是:
someObject
也设置为会话? getSomeEmptyObject()
调用来填充空白区域? 谢谢前进!
看看HttpSessionBindingListener和HttpSessionAttributeListener 。 如果SomeObject是您控制的类,则可以实现HttpSessionBindingListener,否则可能需要HttpSessionAttributeListener。
这样的SO发布很好地涵盖了这一点。
好吧,您是否以适当的形式设置了会话属性:
@SessionAttributes(value = {"user", "register"})
那就是我能想到的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.