cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marco Rolappe" <m_rola...@web.de>
Subject AW: Pass custom parameters into an XSP
Date Thu, 13 Feb 2003 00:15:35 GMT
yeah, sorry. didn't follow the chain upto AbstractGenerator ;-)
  -----Urspr√ľngliche Nachricht-----
  Von: cocoon-users-return-46555-m_rolappe=web.de@xml.apache.org
[mailto:cocoon-users-return-46555-m_rolappe=web.de@xml.apache.org]Im Auftrag
von Nathaniel Alfred
  Gesendet: Donnerstag, 13. Februar 2003 00:51
  An: cocoon-users@xml.apache.org
  Betreff: RE: Pass custom parameters into an XSP


  Actually, you don't need to override setup().
  The base class of the XSP generated class already does that and provides
"protected Parameters parameters;"

  You can use directly in <xsp:logic>

  String entityType = this.parameters.getParameter("entityType");

  including the other nice features of Parameters such as defaulting and
converting to int, boolean, and so on.
    -----Original Message-----
    From: Collin VanDyck [mailto:cvandyck@mindspring.com]
    Sent: Donnerstag, 13. Februar 2003 00:04
    To: cocoon-users@xml.apache.org
    Cc: David Cummings
    Subject: Re: Pass custom parameters into an XSP


    Wow. I did not know you could use the XSP to override the setup method.
That is VERY helpful. Thanks!!


      ----- Original Message -----
      From: Marco Rolappe
      To: cocoon-users@xml.apache.org
      Sent: Wednesday, February 12, 2003 5:59 PM
      Subject: AW: Pass custom parameters into an XSP


      hi collin,

      with XSPs an easier alternative would be to pass your 'parameter' as a
request parameter.

      then you would:

      <map:match pattern="edit.xml">
          <map:generate type="serverpages" src="/docs/edit/item.xsp"/>
          <map:serialize type="xml"/>
      </map:match>

      <map:match pattern="edit/*">
          <map:generate src="cocoon:/edit.xml?entityType={1}"/>
          ...
      </map:match>

      then you can get the request parameter from within your XSP via the
request logicsheet (<xsp-request:get-parameter>) or via embedded logic
(request.getParameter ()).


      the other alternative; passing the parameter as a sitemap parameter:

      <map:match pattern="edit/*">
          <map:generate type="serverpages" src="/docs/edit/item.xsp">
              <map:parameter name="entityType" value="{1}"/>
          </map:generate>
          ...
      </map:match>

      for this to work you have to embed the appropriate logic into your XSP
for retrieving that parameter; as your compiled XSP is a generator in the
end you accomplish this by overriding its setup() method and process the
parameter(s) there.

      just as a hint (take a look at the respective sources/docs):

      <xsp:page language="java" ...>
      <xsp:logic>    <!-- must occur before content so that it doesn't
become part of content/generate() method -->
          public void setup (SourceResolver resolver, Map objectModel,
String src, Parameters params) throws ...
          {
              // process parameter(s) here
              ...

              super.setup (resolver, objectModel, src, params);
          }
      </xsp:logic>

      <!-- content here -->
      </xsp:page>

      HTH
        -----Urspr√ľngliche Nachricht-----
        Von: cocoon-users-return-46552-m_rolappe=web.de@xml.apache.org
[mailto:cocoon-users-return-46552-m_rolappe=web.de@xml.apache.org]Im Auftrag
von Collin VanDyck
        Gesendet: Mittwoch, 12. Februar 2003 22:44
        An: cocoon-users@xml.apache.org
        Betreff: Pass custom parameters into an XSP


        Hello,

        I am trying to figure out how I can pass in custom parameters into
an already existing generator such as the XSP/serverpages generator.  Here's
my scenario:

        I receive a request for /edit/page

        Which matches /edit/*

        So from this matcher, I have {1} == "page".. I want to pass this off
to let's say

        /docs/xsp/edit/item.xsp  as a parameter named "entityType"

        So that in the XSP I can access the "entityType" variable.

        I think I'm missing something obvious. If someone could point me
into the right direction, I'd really appreciate it.

        thanks,
        Collin



  This message is for the named person's use only. It may contain
confidential, proprietary or legally privileged information. No
confidentiality or privilege is waived or lost by any mistransmission. If
you receive this message in error, please notify the sender urgently and
then immediately delete the message and any copies of it from your system.
Please also immediately destroy any hardcopies of the message. You must not,
directly or indirectly, use, disclose, distribute, print, or copy any part
of this message if you are not the intended recipient. The sender's company
reserves the right to monitor all e-mail communications through their
networks. Any views expressed in this message are those of the individual
sender, except where the message states otherwise and the sender is
authorised to state them to be the views of the sender's company.



Mime
View raw message