You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Gregory Steuck <gr...@buildpoint.com> on 2001/09/27 22:20:37 UTC
sitemap to xsp map:parameters passing
Hello,
Thank you for creating such an elegant and versatile product. I am
learning it and have some questions. I would be very grateful if
somebody could help me out.
I'm using cocoon_20_branch as of today with java full version "J2RE
1.3.0 IBM build cx130-20010626" on RedHat 7.1. I'm having a problem
passing parameters from sitemap into an xsp. Here's the relevant
sitemap element:
<map:match pattern="docs/project_list">
<map:generate type="serverpages" src="project_list.xsp">
<map:parameter name="detail_page" value="edit_project"/>
</map:generate>
<map:transform src="stylesheets/simple-page2html.xsl"/>
<map:serialize/>
</map:match>
Now in project_list.xsp, I'm trying to access this parameter as
presrcibed in http://xml.apache.org/cocoon2/matchers-selectors.html:
<detail_page>
<xsp:expr>parameters.getParameter("detail_page")</xsp:expr>
</detail_page>
Page won't compile now:
java.lang.reflect.InvocationTargetException: org.apache.cocoon.ProcessingException: Language Exception: org.apache.cocoon.components.language.LanguageException: Error compiling project_list_xsp:
Line 462, column 61: Exception org.apache.avalon.framework.parameters.ParameterException must be caught, or it must be declared in the throws clause of this method.
at org.apache.cocoon.components.language.generator.ProgramGeneratorImpl.createResource(ProgramGeneratorImpl.java:278)
at org.apache.cocoon.components.language.generator.ProgramGeneratorImpl.load(ProgramGeneratorImpl.java:225)
at org.apache.cocoon.generation.ServerPagesGenerator.setup(ServerPagesGenerator.java:145)
at org.apache.cocoon.components.pipeline.AbstractEventPipeline.setupPipeline(AbstractEventPipeline.java:146)
at org.apache.cocoon.components.pipeline.CachingEventPipeline.setup(CachingEventPipeline.java:243)
at org.apache.cocoon.components.pipeline.CachingEventPipeline.generateKey(CachingEventPipeline.java:103)
at org.apache.cocoon.components.pipeline.CachingStreamPipeline.process(CachingStreamPipeline.java:282)
at org.apache.cocoon.www.greg.sitemap_xmap.resource_dynamic_page(sitemap_xmap.java:361)
Ok, knowing that there's xsp:logic, I'm building a catch block around
the offending parameters.getParameter:
<xsp:logic>
String detail_page = "BAD";
try {
detail_page = parameters.getParameter("detail_page");
} catch (org.apache.avalon.framework.parameters.ParameterException e) {
detail_page = "EXCEPTION";
<para><xsp:expr>e.toString()</xsp:expr></para>
}
<detail_page><xsp:expr>detail_page</xsp:expr></detail_page>
</xsp:logic>
Now the page compiles, but execution yields:
org.apache.avalon.framework.parameters.ParameterException: The parameter 'detail_page' does not contain a value
Am I completely misunderstanding the concept of parameter passing from
sitemap into xsp? Or is there a different way to pass data from
sitemap into xsp? I know that I can use request, but it seems to be
gross misuse of it and will have security implications too.
Thanks
Greg
---------------------------------------------------------------------
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: <co...@xml.apache.org>
For additional commands, e-mail: <co...@xml.apache.org>