cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Cyril Vidal" <cy...@planetexml.com>
Subject Re: xsp session logicsheet
Date Wed, 05 Feb 2003 12:52:49 GMT

Hi Roman,

Indeed I've done this:
<?xml version="1.0"?>

<xsp:page

xmlns:xsp="http://apache.org/xsp"

xmlns:xsp-session="http://apache.org/xsp/session/2.0"

xmlns:xsp-request="http://apache.org/xsp/request/2.0"

create-session="true">

<html>

<xsp-session:set-attribute name="cart.items"><xsp-request:get-parameter
name="item"/></xsp-session:set-attribute>

<b>The list of items is:</b> <xsp-session:get-attribute name="cart.items"
default="not set"/>

<br/>

<b>Your session was created:</b> <xsp-session:get-creation-time
as="string"/>

</html>

</xsp:page>

My problem is the following: I would like to add items to the attribute's
session 'cart.items'.
For the moment, the preceding code doesn't do this task.
When I call http://localhost:8080/cocoo/mount/try/session.xsp?item=3

I receive the following html result:
The list of items is: 3
Your session was created: Wed Feb 05 13:41:32 CET 2003

when I then call http://localhost:8080/cocoo/mount/try/session.xsp?item=5
The result is the following:
The list of items is: 5
Your session was created: Wed Feb 05 13:41:32 CET 2003

and of course, I would like
The list of items is: 3, 5
Your session was created: Wed Feb 05 13:41:32 CET 2003


What i would like to know : is it possible to achieve this task by using
Session Logicsheet by itself, does this Logicsheet provides this
functionnality?
If not, the alternative is also to use actions, as suggested in this thread
before?
Is a built-in action available for this, or do I have to build one from
scratch?

Any help or hint would help me,
Thanks,
Cyril.



> Hi Cyril,
> try adding
>
> xmlns:session="http://apache.org/xsp/session/2.0"
>
> namespace to your xsp page. Then have a look at the generated code.
> Basically you should see a java variable (object) named "session", with it
> you can do what you want. No need to declare it, cocoon does it for you.
> Roman
>
> -----Original Message-----
> From: Cyril Vidal [mailto:cyril@planetexml.com]
> Sent: Wednesday, February 05, 2003 11:01 AM
> To: cocoon-users@xml.apache.org
> Subject: Re: xsp session logicsheet
>
>
>
> Thanks for you response.
> hum, I guess actions are still a little bit too complex for me, regarding
my
> knowledge of Cocoon...
>
> Isn't it really possible to add merely values to the same session's
> attribute with the ESQL logicsheet? It   sounds  odd...
>
> Cyril.
>
> > Hi Cyril
> > Why don't use an action, I think it's better not to have too much Java
> code
> > in your xsp-pages.
> > In an action you can take your code as it is.
> > Cheers
> > Beat
> >
> > > Hi,
> > >
> > > I would like to deal with session through xsp, and serve as far as
> > > possible
> > > the same goal as with the following servlet: e.g put all the
parameters
> > > named 'item' in the object of type Vector 'items' bound to the current
> > > session, so that it would be possible to list at any time all of the
> items
> > > chosen so far by the client in his session.
> > >
> > >  public void doGet(HttpServletRequest req, HttpServletResponse res)
> > >                                throws ServletException, IOException {
> > >     res.setContentType("text/html");
> > >     PrintWriter out = res.getWriter();
> > >
> > >     // Get the current session object, create one if necessary.
> > >     HttpSession session = req.getSession(true);
> > >
> > >     // Cart items are maintained in the session object.
> > >    Vector items = (Vector)session.getAttribute("cart.items");
> > >         if (items == null) { items = new Vector(10,5);}
> > >
> > >       String item = req.getParameter("item");
> > >       items.add(item);
> > >
> > >        session.setAttribute("cart.items",items);
> > >
> > >     out.println("<HTML><HEAD><TITLE>SessionTracker
> > > modifie</TITLE></HEAD>");
> > >     out.println("<BODY><H1>Session Tracking Demo</H1>");
> > >
> > >     // Print the current cart items.
> > >     out.println("You currently have the following items in your
> > > cart:<BR>");
> > >     if (items == null) {
> > >       out.println("<B>None</B>");
> > >     }
> > >     else {
> > >       out.println("<UL>");
> > >       for (int i = 0; i < items.size(); i++) {
> > >         out.println("<LI>" + items.get(i));
> > >       }
> > >       out.println("</UL>");
> > >     }
> > >
> > >
> > >     out.println("</BODY></HTML>");
> > >   }
> > > }
> > >
> > >  Below is the xsp i've written for the moment,: this is working fine,
> but
> > > does not do what I want: because each time the client chooses an item
> and
> > > pass it via the parameter 'item', instead of being added in the object
> > > cart.items, its value overrides this of the preceding parameter.
> > >
> > > <?xml version="1.0"?>
> > >
> > > <xsp:page
> > >
> > > xmlns:xsp="http://apache.org/xsp"
> > >
> > > xmlns:xsp-session="http://apache.org/xsp/session/2.0"
> > >
> > > xmlns:xsp-request="http://apache.org/xsp/request/2.0"
> > >
> > > create-session="true">
> > >
> > > <html>
> > >
> > > <xsp-session:set-attribute
name="cart.items"><xsp-request:get-parameter
> > > name="item"/></xsp-session:set-attribute>
> > >
> > > <b>You currently have the following items in your cart:</b>
> > > <xsp-session:get-attribute name="cart.items"/>
> > >
> > > <br/>
> > >
> > > <b>Your session was created:</b> <xsp-session:get-creation-time
> > > as="string"/>
> > >
> > > </html>
> > >
> > > </xsp:page>
> > >
> > > Some of you would know how I can improve my code? Indeed, I would like
> > > cart.items to be like a Vector, so that it would be possible to put
> merely
> > > values onto it.
> > > Thanks in advance for your help,
> > > Cyril.
> > >
> > >
> > >
> > > ---------------------------------------------------------------------
> > > Please check that your question  has not already been answered in the
> > > FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>
> > >
> > > To unsubscribe, e-mail:     <cocoon-users-unsubscribe@xml.apache.org>
> > > For additional commands, e-mail:   <cocoon-users-help@xml.apache.org>
> > >
> >
> > --
> > +++ GMX - Mail, Messaging & more  http://www.gmx.net +++
> > NEU: Mit GMX ins Internet. Rund um die Uhr für 1 ct/ Min. surfen!
> >
> >
> > ---------------------------------------------------------------------
> > Please check that your question  has not already been answered in the
> > FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>
> >
> > To unsubscribe, e-mail:     <cocoon-users-unsubscribe@xml.apache.org>
> > For additional commands, e-mail:   <cocoon-users-help@xml.apache.org>
> >
> >
>
>
>
> ---------------------------------------------------------------------
> Please check that your question  has not already been answered in the
> FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>
>
> To unsubscribe, e-mail:     <cocoon-users-unsubscribe@xml.apache.org>
> For additional commands, e-mail:   <cocoon-users-help@xml.apache.org>
>
> ---------------------------------------------------------------------
> Please check that your question  has not already been answered in the
> FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>
>
> To unsubscribe, e-mail:     <cocoon-users-unsubscribe@xml.apache.org>
> For additional commands, e-mail:   <cocoon-users-help@xml.apache.org>
>
>



---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.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