0

私は2つのフォームを扱うコントローラーを持っています。

フォームメソッドの初期化で、画面をレンダリングするために必要なものをすべて設定しました。フォーム オブジェクトをモデル マップに配置します。

レンダリング フェーズでは、レンダリングが正常に行われます。ただし、送信が完了して @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)

Requestオブジェクトから取得したオブジェクトをHTTPセッションに配置し、プロセスを通じて操作すると、すべてがうまくいきます

モデル マップを操作するときに何が問題なのかわかりません。

アプリケーションの残りの部分には、正常に動作している他のコントローラーがさらにあります。

どんな手がかりも高く評価されます。

4

1 に答える 1

0

フォームには「someForm」属性(Session attribute 'someForm' required)が必要なようです。この属性は、ページで呼び出す必要があります。

于 2012-04-23T15:34:25.450 に答える