From 2d892da641f7f923856195fa636f73d4ce43f72b Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Tue, 24 Jun 2014 21:20:57 +0200 Subject: [PATCH] FrameworkPortlet exposes local PortletRequestAttributes in case of pre-bound ServletRequestAttributes as well Issue: SPR-11295 --- .../org/springframework/web/portlet/FrameworkPortlet.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spring-webmvc-portlet/src/main/java/org/springframework/web/portlet/FrameworkPortlet.java b/spring-webmvc-portlet/src/main/java/org/springframework/web/portlet/FrameworkPortlet.java index a2e365035e..8a278cbdf1 100644 --- a/spring-webmvc-portlet/src/main/java/org/springframework/web/portlet/FrameworkPortlet.java +++ b/spring-webmvc-portlet/src/main/java/org/springframework/web/portlet/FrameworkPortlet.java @@ -44,6 +44,7 @@ import org.springframework.context.i18n.SimpleLocaleContext; import org.springframework.core.env.ConfigurableEnvironment; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.portlet.context.ConfigurablePortletApplicationContext; import org.springframework.web.portlet.context.PortletApplicationContextUtils; import org.springframework.web.portlet.context.PortletRequestAttributes; @@ -516,7 +517,8 @@ public abstract class FrameworkPortlet extends GenericPortletBean // Expose current RequestAttributes to current thread. RequestAttributes previousRequestAttributes = RequestContextHolder.getRequestAttributes(); PortletRequestAttributes requestAttributes = null; - if (previousRequestAttributes == null || previousRequestAttributes.getClass().equals(PortletRequestAttributes.class)) { + if (previousRequestAttributes == null || previousRequestAttributes.getClass().equals(PortletRequestAttributes.class) || + previousRequestAttributes.getClass().equals(ServletRequestAttributes.class)) { requestAttributes = new PortletRequestAttributes(request, response); RequestContextHolder.setRequestAttributes(requestAttributes, this.threadContextInheritable); }