Carsten,
That is what I'm expecting, but for some reason. The redirect is not a
the url does become the new url.
There are no errors on the console, what is going wrong occurs in
somewhere in the pipeline. Here's a more concrete example.
For example.
If I make a request to http://myserver/blah I would expect to be
redirected to the http://myserver/someotherUrl and the request object in
the action to show the correct URL. This it does.
where there is a matcher
<map:match pattern="**/someotherUrl">
<map:act type="SimpleAction">
<map:parameter name="ua" value="{useragent}"/>
<map:parameter name="two" value="cocoon://{1}/tools/somecheck.jsp" />
</map:act>
</map:match>
Once the matches and the request gets to the jsp the
request.getRequestURI reads myserver/someotherUrl and not
myserver/tools/somecheck.jsp as I would be expecting.
As I wrote earlier, if a real http:// url is used, the url appears
correctly in the request to the jsp.
Btw, The cocoon version being used is 2.1.9.
Alec.
Carsten Ziegeler wrote:
Hi,
this should work - the redirector has a built-in handling for cocoon: urls.
Are there any errors when you try it or what is going wrong?
Carsten
Alec Bickerton wrote:
Hi,
I have simple action that takes 3 parameter and does a simple redirect
based on the value of param1.
e.g.,
<map:match pattern="blah">
<map:act type="SimpleAction">
<map:parameter name="ua" value="{useragent}"/>
<map:parameter name="one" value="http://somehost/someurl"/>
<map:parameter name="two" value="http://somehost/someotherURL"/>
</map:act>
</map:match>
Works perfectly, however the application I'm working on requires the
use of cocoon:// as parameters.
The following fails as the cocoon://url cannot be properly resolved by
the action.
<map:match pattern="blah">
<map:act type="SimpleAction">
<map:parameter name="ua" value="{useragent}"/>
<map:parameter name="one" value="cocoon://someurl"/>
<map:parameter name="two" value="cocoon://someotherURL"/>
</map:act>
</map:match>
SimpleAction.java (Simplified for clarity)
public class SimpleAction extends AbstractAction {
public final Map act( final Redirector redirector, final
SourceResolver resolver, final Map objectModel, final String
source,final Parameters params) throws Exception {
String ua = "example";
String oneURL = "www.example.example/pass/";
String twoURL = "www.example.example/fail/";
if( params.isParameter( "ua" ) )
ua = params.getParameter( ua );
if( params.isParameter( "one" ) )
oneURL = params.getParameter( "one" );
if( params.isParameter( "two" ) )
twoURL = params.getParameter( "two" );
if( ua.equals("something"))
redirector.redirect( false, oneURL );
else
redirector.redirect( false, twoURL );
return null;
}
Any ideas. Is there a mechanism that I can retrieve the absolute URL
from the cocoon:// protocol from within an action.
Or am I missing some magic incantation on the redirector, that would
let me use this type of URL.
Any help would be most appreciated.
Alec
---------------------------------------------------------------------
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]