我有一个控制器,它处理两种形式。
在初始化表单方法中,我设置了渲染屏幕所需的所有内容。并将表单对象放入模型图。
在渲染阶段,渲染成功完成。但是当提交完成并调用@ActionMapping 时。
我得到了例外。
org.springframework.web.portlet.handler.PortletSessionRequiredException: Session attribute 'someForm' required - not found in session
at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter$PortletHandlerMethodInvoker.raiseSessionRequiredException(AnnotationMethodHandlerAdapter.java:554)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveModelAttribute(HandlerMethodInvoker.java:758)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments(HandlerMethodInvoker.java:356)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:171)
at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:360)
at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.doHandle(AnnotationMethodHandlerAdapter.java:347)
at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.handleAction(AnnotationMethodHandlerAdapter.java:281)
at org.springframework.web.portlet.DispatcherPortlet.doActionService(DispatcherPortlet.java:641)
at org.springframework.web.portlet.FrameworkPortlet.processRequest(FrameworkPortlet.java:519)
at org.springframework.web.portlet.FrameworkPortlet.processAction(FrameworkPortlet.java:460)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:70)
at com.nomadsoft.cortex.infrastructure.spring.security.SecurityContextAuthenticatedPortletFilter.doFilter(SecurityContextAuthenticatedPortletFilter.java:99)
at sun.reflect.GeneratedMethodAccessor554.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
如果我将对象放入我从请求对象获取的 HTTP 会话中并通过该过程进行操作,一切都会正常
我不知道当我使用模型图时出了什么问题。
在应用程序的其余部分中,还有更多其他工作正常的控制器。
任何线索都会受到高度评价。