我有一个表单bean,我想在会话中存储,所以在包含欢迎处理程序的控制器中我把它放在:
@Controller
@SessionAttributes({"searchcontact","cities"})
我的表格:
<form:form modelAttribute="searchcontact" ... >
...
<form:options items="${cities}" itemValue="id" itemLabel="name" />
我仅使用属性searchcontact
收到此错误:
Etat HTTP 500 - java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'searchcontact' available as request attribute
可以在所有会话中访问属性cities
。
答案 0 :(得分:0)
@SessionAttributes
is not meant to store data across controllers。它用于在给定控制器的请求之间存储数据。
要在会话中存储数据以供其他控制器访问,请使用HttpSession.setAttribute()
。