cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Volker Schneider" <volker.schnei...@danet.de>
Subject RE: Can´t get Request from an Action
Date Tue, 14 May 2002 13:20:25 GMT
Hi Markus,

sorry, maybe I misunderstood you.

Please try to set the attribute in your action as follows:

  Request theRequest = (Request)aObjectModel.get(Constants.REQUEST_OBJECT);
  if (theRequest != null)
  {
    theRequest.setAttribute(...);
  }

Whereby "aObjectModel" comes into the action as an argument - maybe this
name is different in your action.

Best regards
- Volker -

-----Original Message-----
From: Markus Locher, ASK Keller GmbH
[mailto:markus.locher@as-support.com]
Sent: Dienstag, 14. Mai 2002 15:06
To: Cocoon Mailinglist
Subject: Can´t get Request from an Action


Hello Folks,

I added a self-developed action to org/apache/cocoon with a path from there
like ask/auth. Under auth I have created a servlet called Login.java. You
guessed!.. I am trying to create a login-action for internal use (I know
there is a sample, but that doesn´t fit our needs).

The Login-Servlet gives me a Map back (nothing new) and it sets an attribute
to a Request like ...

   Request.setAttribute("hello","world");

as in the docs from Cocoon!!! "Creating and Using Actions".

The value of the Map is read successfully in the sitemap.xmap, but the
request values can't be read out within an xsp-page. Got only null.

What's wrong?
--------------------------------Login.java----------------
package org.apache.cocoon.ask.auth;

import org.apache.avalon.framework.parameters.Parameters;
import org.apache.avalon.framework.thread.ThreadSafe;
import org.apache.cocoon.acting.AbstractAction;
import org.apache.cocoon.Constants;
import java.util.Map;
import java.util.HashMap;
import org.apache.cocoon.environment.*;
import org.xml.sax.EntityResolver;

public class Login extends  AbstractAction
     implements  ThreadSafe {

  public Map act (Redirector   redirector,
                  SourceResolver resolver,
                  Map     objectModel,
                  String   source,
                  Parameters   params
   ) {

    Map  sitemapParams  = new HashMap();
      sitemapParams .put ("authArt", "login");

    Request  request = (Request) objectModel.get (Constants.REQUEST_OBJECT);
      request .setAttribute ("hello", "world");


   return sitemapParams;
  }
}
--------------------------------login.xsp----------------
...
<para><xsp-request:get-attribute name="hello"/></para>
...
The rest of xsp-page is correct.
--------------------------------login.xsl----------------
...
 <p><xsl:value-of select="//para"/></p> <br/>
... Rest OK.
--------------------------------sitemap.xmap----------------
...
<map:actions>
     <map:action name = "xifs-login"
        src  = "org.apache.cocoon.ask.auth.Login"/>
  </map:actions>
... within a pipeline!!!
<!-- SERVLETS -->
  <map:match pattern="auth/**">
      <!-- Performe login ... -->
      <map:act type="xifs-login">

    <map:generate type="serverpages" src="../xsp/login.xsp"/>
    <map:transform src="../styles/login.xsl"/>
     <map:serialize/>

     </map:act>

      <!-- If all fails ...-->
      <map:redirect-to uri="../welcome"/>

   </map:match>

...

Thanks for any help.

Regards Markus
mailto:markus@as-support.com





---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

To unsubscribe, e-mail: <cocoon-users-unsubscribe@xml.apache.org>
For additional commands, e-mail: <cocoon-users-help@xml.apache.org>


Mime
View raw message