Author: michiel
Date: 2010-04-08 14:17:02 +0200 (Thu, 08 Apr 2010)
New Revision: 41797

Modified:
   
mmbase/branches/MMBase-1_9/core/src/main/java/org/mmbase/framework/JspRenderer.java
Log:
redirecting from a jsp-block didn't work. Tests in mmbase/test/test/urls proved 
that.

Modified: 
mmbase/branches/MMBase-1_9/core/src/main/java/org/mmbase/framework/JspRenderer.java
===================================================================
--- 
mmbase/branches/MMBase-1_9/core/src/main/java/org/mmbase/framework/JspRenderer.java
 2010-04-08 11:49:01 UTC (rev 41796)
+++ 
mmbase/branches/MMBase-1_9/core/src/main/java/org/mmbase/framework/JspRenderer.java
 2010-04-08 12:17:02 UTC (rev 41797)
@@ -42,7 +42,8 @@
         return path.charAt(0) == '/' ? path : JSP_ROOT + 
getBlock().getComponent().getName() + '/' + path;
     }
 
-    @Override public  Parameter<?>[] getParameters() {
+    @Override
+    public  Parameter<?>[] getParameters() {
         return new Parameter<?>[] {Parameter.RESPONSE, Parameter.REQUEST};
     }
 
@@ -50,7 +51,8 @@
         public int code = 200;
         public String mesg = null;
     }
-    @Override   public void render(Parameters blockParameters, Writer w, 
RenderHints hints) throws FrameworkException {
+    @Override
+    public void render(Parameters blockParameters, Writer w, RenderHints 
hints) throws FrameworkException {
         try {
             HttpServletResponse response = 
blockParameters.get(Parameter.RESPONSE);
             HttpServletRequest request  = 
blockParameters.get(Parameter.REQUEST);
@@ -86,6 +88,14 @@
                 log.debug("Rendering " + url + " status " + status.code);
             }
             requestDispatcher.include(request, respw);
+
+            String redirected = respw.getRedirected();
+            if (redirected != null) {
+                log.service("Redirecting to " + redirected);
+                response.sendRedirect(redirected);
+                return;
+            }
+
             log.debug("Status " + status.code);
             if (status.code == 401) {
                 DeniedRenderer denied = new DeniedRenderer(getType(), 
getBlock());
@@ -108,7 +118,8 @@
         return getPath() + (params == null ? "" : "?" + Arrays.asList(params));
     }
 
-    @Override public java.net.URI getUri() {
+    @Override
+public java.net.URI getUri() {
         try {
             return 
org.mmbase.util.ResourceLoader.getWebRoot().getResource(getPath()).toURI();
         } catch (Exception e) {

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to