stefano     2003/04/04 15:08:13

  Modified:    src/java/org/apache/cocoon/components/flow/javascript
                        system.js JSCocoon.java
  Log:
  added the ability to send a redirect to the browser directly from the flowscript. 
You could do this before since you had direct access to the Environment, but it makes 
it more evident if it's added directly to the FOM. Note that the method doesn't create 
sessions, you have to do it by hand if you really need one. The method is inherently 
stateless.
  
  Revision  Changes    Path
  1.5       +9 -1      
cocoon-2.1/src/java/org/apache/cocoon/components/flow/javascript/system.js
  
  Index: system.js
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/java/org/apache/cocoon/components/flow/javascript/system.js,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- system.js 25 Mar 2003 14:25:18 -0000      1.4
  +++ system.js 4 Apr 2003 23:08:13 -0000       1.5
  @@ -63,6 +63,14 @@
     sendPage("invalidContinuation", {"ident" : id});
   }
   
  +// Redirect Support
  +//
  +// redirect to the given URI
  +function redirect(uri)
  +{
  +  cocoon.redirect(uri);
  +}
  +
   // Action Support
   //
   // call an action from JS
  
  
  
  1.9       +16 -1     
cocoon-2.1/src/java/org/apache/cocoon/components/flow/javascript/JSCocoon.java
  
  Index: JSCocoon.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/java/org/apache/cocoon/components/flow/javascript/JSCocoon.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- JSCocoon.java     20 Mar 2003 04:18:51 -0000      1.8
  +++ JSCocoon.java     4 Apr 2003 23:08:13 -0000       1.9
  @@ -256,6 +256,21 @@
       }
   
       /**
  +     * Send a client-side redirect to the browser.
  +     *
  +     * @param uri The URI to which the browser should be redirected to.
  +     */
  +    public void jsFunction_redirect(String uri)
  +        throws JavaScriptException
  +    {
  +        try {
  +            environment.redirect(false,uri);
  +        } catch (Exception e) {
  +            throw new JavaScriptException(e);
  +        }
  +    }
  +
  +    /**
          Set the Scope object in the session object of the current
          user. This effectively means that at the next invocation from the
          sitemap of a JavaScript function (using the <map:call
  
  
  

Reply via email to