This is my solution for a serverpage redirect combined with an action: 1. Sitemaps needs ServerPagesAction
<map:actions> <map:action logger="sitemap.action.xsp-action" name="xsp-action" src="org.apache.cocoon.acting.ServerPagesAction"/> </map:actions> 2. Site matcher <map:match pattern="db/*.xsp"> <map:act type="xsp-action" src="xdocs/db/{1}.xsp"> <map:match type="request-parameter" pattern="next"> <map:redirect-to session="false" uri="{1}"/> </map:match> </map:act> <!-- Portion of the sitemap executed if xsp failed --> ... </map:match> 3. Call of the matcher <form action="../db/art_grp_chg.xsp" method="POST"> <input name="next" type="hidden" value="../admin/art_grp.xsp.html"/> ... </form> The "next" parameter tells the sitemap the next page to call. In this case the itself. 4. The xsp page with the database logic 'db/art_grp_chg.xsp' <?xml version="1.0" encoding="ISO-8859-1"?> <xsp:page language="java" xmlns:xsp="http://apache.org/xsp" xmlns:esql="http://apache.org/cocoon/SQL/v2" xmlns:xsp-request="http://apache.org/xsp/request/2.0" xmlns:action="http://apache.org/cocoon/action/1.0" > <page> <title>A Database Driven XSP Page</title> <content> <xsp:logic> String process = null; String id_str = null; int id = -1; String ord_str = null; int ordnr = -1; String name = null; process = <xsp-request:get-parameter name="process"/>; id_str = <xsp-request:get-parameter name="id"/>; id = Integer.parseInt(id_str); ord_str = <xsp-request:get-parameter name="ordnr"/>; ordnr = Integer.parseInt(ord_str); name = <xsp-request:get-parameter name="name"/>; </xsp:logic> <esql:connection> <esql:pool>db</esql:pool> <transactions> <esql:execute-query> <esql:query> UPDATE artikel_gruppen SET gruppe_ordnung = <esql:parameter><xsp:expr>ordnr</xsp:expr></esql:parameter>, gruppe_name = <esql:parameter><xsp:expr>name</xsp:expr></esql:parameter>, WHERE gruppen_id = <esql:parameter><xsp:expr>id</xsp:expr></esql:parameter>; </esql:query> </esql:execute-query> </transactions> <action:set-success/> </esql:connection> </content> </page> </xsp:page> Important is the <action:set-success/>, which signals the sitemap matcher the success. This can be enhanced with an additional <action:set- failure/> in case of an esql exception Christian Hoofe > > From: Christian Hoofe [mailto:[EMAIL PROTECTED]] > > > > I tried the following code in the sitemap to redirect to a page after > saving > > values to the > > database using art_grp_chg.xsp and receive an sitemap error. > > You actually want to write not XSP page but action. > > > > <map:match pattern="art_grp_chg.xsp"> > > <map:act type="request"> > > <map:parameter name="parameters" value="true"/> > > <map:select type="request-parameter"> > > <map:parameter name="parameter-name" value="next"/> > > <map:when test=""> > > </map:when> > > <map:otherwise> > > <map:generate type="serverpages" > src="xdocs/db/art_grp_chg.xsp"/> > > <map:serialize/> > > These two lines mean: "SEND PAGE TO CLIENT" > > > <map:redirect-to uri="../{next}"/> > > This line means: "DON'T SEND PAGE TO CLIENT, SEND HIM TO ANOTHER URL". > > These are *not* compatible with each other. Choose one of them. > > > Vadim > > > > </map:otherwise> > > </map:select> > > </map:act> > > </map:match> > > > > I am looking for a simple way to do something similar to the > > response.sendRedirect(""); I used in my Cocoon 1.8.2. code. > > > > Configuration: > > Cocoon 2.0.3 > > Tomcat 4.1.7 > > Win98 > > > > Thanks > > Christian > > > > ________________________ > > > > Christian Hoofe > > Email [EMAIL PROTECTED] > > ________________________ > ________________________ Christian Hoofe Wittelsbacherstr. 3 D 10707 Berlin Tel +49 30 887 290 33 Fax +49 30 887 290 32 Mobil +49 179 12 98 470 Email [EMAIL PROTECTED] ________________________ --------------------------------------------------------------------- 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: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]>