DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
| Excerpt |
|---|
|
Not sure if this is the only (or best!) way but... Suppose you want to redirect your response to an intermediate page (like a login page) and then return to what the user was doing or seeing. There are two methods in Component just for that:
| Code Block |
|---|
redirectToInterceptPage(Page page) |
and
| Code Block |
|---|
continueToOriginalDestination() |
In your current Page you may use:
| Code Block |
|---|
public class WishlistPage extends WebPage {
public WishlistPage(PageParameters params) {
User user = ((MyAppSession)getSession()).getUser(); // MyAppSession extends WebSession and stores the current user
if (!user.loggedIn()) {
redirectToInterceptPage(new LoginPage());
}
...
}
...
}
|
And in LoginPage:
| Code Block |
|---|
public class LoginPage extends WebPage { public LoginPage(PageParameters params) {
// Custon login form
LoginForm form = new LoginForm("form");
add(form);
}
...
public class LoginForm extends Form {
... public LoginForm(String id) {
super(id);
// add login components
add(new TextField("username" ...);
...
}
protected void onSubmit() {
...
if (loginOk(username, password)) {
// continue to original requested destination if exists, otherwise go to a default home page
if (!continueToOriginalDestination()) {
setResponsePage(getApplication().getHomePage());
}
}
}
}
}
|