You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Kushan Jayathilake <ku...@gmail.com> on 2007/06/05 11:18:42 UTC

How to use the "ILink"

Hi

Im new to tapestry, and dont know much
Anyone can give me examples of using ILink interface

Plz give me some actual codings that you guys used ILink


Regards
Kushan

Re: How to use the "ILink"

Posted by Geoff Callender <ge...@gmail.com>.
Basic usage of ILink to go to next page.  This is a listener method.

	public ILink doNextPage() {
		return getPageService().getLink(false, "pages/TheSecondPage");
	}

Example of ILink in a real life situation - logging in.  This is a  
listener on the Log In button.

	@Bean
	public abstract ValidationDelegate getValidationDelegate();

	public ILink doLogin() {
		ILink redirectTo = null;

		try {
			// If errors already detected by validators, return without redirect
			if (getValidationDelegate().getHasErrors()) {
				return null;
			}

			// Authenticate the user, password
			// ...insert code...

			// Redirect to WelcomePage
			redirectTo = getPageService().getLink(false, "pages/WelcomePage");
			return redirectTo;
		}
		catch (MyAuthenticationException e) {
			recordError(e.toString());
		}
		catch (Exception e) {
			// This should never happen, but we've caught it just in case
			// (and should probably log it instead of just printing stack trace)
			e.printStackTrace();
			// Display general error, retrieving message from  
application's .properties file
			recordError(getMessages().getMessage("login_problem"));
		}

		return redirectTo;
	}

	protected void recordError(String message) {
		ValidationDelegate delegate = getValidationDelegate();
		delegate.setFormComponent(null);
		delegate.record(message, null);
	}

HTH,

Geoff
http://files.doublenegative.com.au/jumpstart

On 05/06/2007, at 7:18 PM, Kushan Jayathilake wrote:

> Hi
>
> Im new to tapestry, and dont know much
> Anyone can give me examples of using ILink interface
>
> Plz give me some actual codings that you guys used ILink
>
>
> Regards
> Kushan