Hi,
when a user try to connect to my app, it checks if user is logged.
I'm trying to redirect him to page is was trying to access, but I don't
know how to do it in Tapestry way. With plain old sendRedirect of
servlet response it works, but not as clean as it should.
All pages inherits of this page :
@ApplicationState
private SimExplorerState applicationState;
Object onActivate() throws SimExplorerException {
[...]
if (!userLogged) {
String fromURL = requestGlobals.getRequest().getPath(); //
get url being tried
applicationState.setRequestedURL(fromURL); // save it in
application state of user
return "Login"; // redirect to login page
}
[...]
return null;
}
Then in Login :
public Object onSuccessFromFormLogin() throws SimExplorerException,
IOException {
[...]
if (success) {
[...]
String fromURL = applicationState.getRequestedURL();
if (fromURL == null) {
return elementList;
}
//return fromURL.substring(1); // doesn't work, as context
is then included in page name
requestGlobals.getResponse().sendRedirect(fromURL); // bad
as Tapestry will try to commit data again in response afterwards....
return null;
}
return this;
}
Thanks for any advice!
--
Gabriel <[EMAIL PROTECTED]>
http://www.codelutin.com
tel : 02 40 50 29 28 / fax : 09 59 92 29 28
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]