If you use flowscript as part of your control, you have access to the application (servlet) context by way of the object cocoon.context:
see http://cocoon.apache.org/2.1/userdocs/flow/api.html#context-N100C1 For example, from within flowscript you can do gets and sets like cocoon.context.getAttribute("attributeKey") for your particular attribute, just as you would access the ServletContext. Hope that helps, Owen On 7/20/05, footh <[EMAIL PROTECTED]> wrote: > Thanks everyone for all your help. Late last night > after reading more documentation, I discovered the > concept of the "internal" pipeline. This seems to be > exactly what I need. I can aggregrate all the pieces > after they've been generated and transformed in an > internal pipeline into one big xml file that can then > be transformed by my main XSL stylesheet. > > Now, another question that I can't seem to find any > documentation on. Is there an analogue for the > application-scope variable in cocoon? Or perhaps > there's a better way to do what I need to do in > Cocoon. > > In my JSP app, I would have, say 100 articles and on > each page click, I randomly displayed 5 articles. I > did this by storing all the article info in an > application variable upon which I would randomly pick > 5 to display everytime the user clicked a new page. > The advantage of using the application-scope variable > was I did have to hit the database on every click and > it was data that every user shared. The disadvantage > is, if a new article was added, I would have to > restart the Web service to get it added. > > Anyway, can anyone provide advice as to how I might > accomplish this in cocoon? > > --- Jan Hoskens <[EMAIL PROTECTED]> wrote: > > > footh wrote: > > > > >I read about flow before and in fact I intended ot > > use > > >it once I got this supposedly "basic" part of the > > site > > >resolved. > > > > > >Anyway, I re-read the documentation and I can't > > seem > > >to find out how it would help the situation > > described > > >below. How can I use flow logic combine 5 pages > > that > > >require dynamic processing into one page? > > > > > > > > > > There are several ways to do this. Take a look at > > the docs for: > > aggregating (sitemap element), cinclude or xinclude > > (transformers). > > > > I'll give a small example: > > - Let each request go through one sitemap matcher > > - This matcher has either an aggregate: > > <map:aggregate ... maybe defining a new > > surrouning parent element > > <map:part.... here your different parts > > (menu/content/sidebars...) > > > > or read in a template page and use includes: > > <map:generate src="template.xml"/> (template > > contains include tags > > for each different part) > > <map:transform type="cinclude"/> (this step > > reads the include tags > > and calls the different pipes to include) > > > > - each part for menu/sidebars/... can be processed > > by separate matchers > > in an internal-only pipeline > > > > - each matcher can contain its own flowscript > > functions if needed(thus > > program/call anything you like), or you can produce > > general information > > in your template sitemap matcher (eg by action , own > > component or again > > flowscript, doesn't matter) and set these in your > > session or context so > > it's available within the different parts. > > > > - the template matcher will then contain all the > > information and you can > > style this to any outputtype you want (probably just > > plain html). Just > > remember to leave your html styling and javascript > > in different files > > and include these. > > > > When creating your own generator/components remember > > to make these > > reusable and that there is already a lot of > > funcionality available. > > > > Kind regards, > > Jan > > > > > > > > >--- Ralph Goers <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > >>It sounds like you need to take a look at > > flowscript > > >>or javaflow. > > >> > > >>footh wrote: > > >> > > >> > > >> > > >>>I'm converting my site from pure JSP to Cocoon. > > >>> > > >>>I've read lots of tutorials on Cocoon and I've > > come > > >>>really close to getting the site to work the way > > I > > >>>want but I've hit a few snags. > > >>> > > >>>Basically, the site has a header, footer and two > > >>>sidebars with content in the middle. In JSP, I > > >>> > > >>> > > >>would > > >> > > >> > > >>>just have includes on every page for the header, > > >>>footer, etc. However, in Cocoon, I was hoping I > > >>> > > >>> > > >>could > > >> > > >> > > >>>have one "template" page that decided the layout. > > >>> > > >>>I was able to create this model, mainly using > > this > > >>>tutorial: > > >>> > > >>> > > > >>http://www.cocooncenter.org/articles/navigation.html > > >> > > >> > > >>>I created an XSL stylesheet for the header, > > footer, > > >>>and two sidebars, along with associated XML > > content > > >>>files and imported those into a "main" > > stylesheet. > > >>>Then, in the main stylesheet, I apply the > > templates > > >>>for the constant parts by using the document > > >>> > > >>> > > >>function > > >> > > >> > > >>>in XSL, for ex: > > >>> > > >>><xsl:apply-templates > > >>>select="document('..\menus\header.xml')/*"/> > > >>> > > >>>For the main content on each page, I have > > separate > > >>> > > >>> > > >>XML > > >> > > >> > > >>>files that, for now, are simply a dump of static > > >>> > > >>> > > >>HTML > > >> > > >> > > >>>and I use the copy-of XSL tag to insert it into > > the > > >>>page. Later, I'll make these XSP pages and > > >>>dynamically generate the content. > > >>> > > >>>Here's where I've hit a couple issues. The > > header, > > >>>footer and sidebars contain some dynamic content. > > > > >>> > > >>> > > >>For > > >> > > >> > > >>>example, if a person is logged in, the header > > will > > >>>show something different. I was able to get > > around > > >>>this by passing in the "remoteUser" parameter to > > >>> > > >>> > > >>the > > >> > > >> > > >>>stylesheet in the pipeline and then using > > >>> > > >>> > > >>stylesheet > > >> > > >> > > >>>logic. But, there's also other logic I will need > > >>> > > >>> > > >>to > > >> > > >> > > >>>process that's a bit more complicated (ex. > > >>> > > >>> > > >>depending > > >> > > >> > > >>>on the user's role, etc). With my current > > layout, > > >>> > > >>> > > >>I > > >> > > >> > > >>>can't seem to find a way to add logic that can > > use > > >>>Java to these mostly static blocks. > > >>> > > >>>I've tried aggregating, but that doesn't seem to > > > === message truncated === > > > > > ____________________________________________________ > Start your day with Yahoo! - make it your home page > http://www.yahoo.com/r/hs > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
