You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by at...@apache.org on 2005/02/04 18:34:26 UTC
cvs commit: jakarta-jetspeed-2/portals-bridges/struts/src/java/org/apache/portals/bridges/struts StrutsPortlet.java PortletServletResponseWrapper.java
ate 2005/02/04 09:34:26
Modified: portals-bridges/struts/src/java/org/apache/portals/bridges/struts
StrutsPortlet.java
PortletServletResponseWrapper.java
Log:
Fix incorrectly setting renderParameters before doing a redirect (Spec violation).
Also, improved detection of real redirections to another servlet root relative context without the need to specify a full qualified url.
Revision Changes Path
1.12 +7 -6 jakarta-jetspeed-2/portals-bridges/struts/src/java/org/apache/portals/bridges/struts/StrutsPortlet.java
Index: StrutsPortlet.java
===================================================================
RCS file: /home/cvs/jakarta-jetspeed-2/portals-bridges/struts/src/java/org/apache/portals/bridges/struts/StrutsPortlet.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- StrutsPortlet.java 28 Jan 2005 00:09:23 -0000 1.11
+++ StrutsPortlet.java 4 Feb 2005 17:34:26 -0000 1.12
@@ -333,7 +333,8 @@
try
{
rd.include(new PortletServletRequestWrapper(servletContext, req), res);
- } catch (ServletException e)
+ }
+ catch (ServletException e)
{
if (log.isErrorEnabled())
log.error("Include exception", e);
@@ -369,10 +370,6 @@
}
else
{
- strutsPortletConfig.getRenderContextAttributes().saveAttributes(req);
- ((ActionResponse) response).setRenderParameter(
- StrutsPortletURL.KEEP_RENDER_ATTRIBUTES, "1");
-
if ((renderURL = (String) req
.getAttribute(StrutsPortlet.REDIRECT_URL)) != null)
{
@@ -382,6 +379,10 @@
}
else
{
+ strutsPortletConfig.getRenderContextAttributes().saveAttributes(req);
+ ((ActionResponse) response).setRenderParameter(
+ StrutsPortletURL.KEEP_RENDER_ATTRIBUTES, "1");
+
if ((renderURL = (String) req
.getAttribute(StrutsPortlet.REDIRECT_PAGE_URL)) != null)
{
1.3 +11 -2 jakarta-jetspeed-2/portals-bridges/struts/src/java/org/apache/portals/bridges/struts/PortletServletResponseWrapper.java
Index: PortletServletResponseWrapper.java
===================================================================
RCS file: /home/cvs/jakarta-jetspeed-2/portals-bridges/struts/src/java/org/apache/portals/bridges/struts/PortletServletResponseWrapper.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- PortletServletResponseWrapper.java 20 Jan 2005 01:41:14 -0000 1.2
+++ PortletServletResponseWrapper.java 4 Feb 2005 17:34:26 -0000 1.3
@@ -97,13 +97,22 @@
else
{
String contextPath = request.getContextPath();
- if (path.startsWith(contextPath))
+
+ // context targeted url captured as Struts Page URL
+ if (path.startsWith(contextPath+"/"))
{
request.setAttribute(StrutsPortlet.REDIRECT_PAGE_URL, path
.substring(contextPath.length()));
}
+ // servlet container root url relative url NOT targetted at the Struts App
+ else if ( path.startsWith("/"))
+ {
+ request.setAttribute(StrutsPortlet.REDIRECT_URL, path);
+ }
+ // context relative url captured as Struts Page URL
else
{
+ // TODO: I think this should be translated as relative to current Struts PAGE_URL
request.setAttribute(StrutsPortlet.REDIRECT_PAGE_URL, path);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org