login.java

来自「Enjoy Web Dev With Tapestry 一书的源代码」· Java 代码 · 共 40 行

JAVA
40
字号
package com.ttdev.shop;

import org.apache.tapestry.*;
import org.apache.tapestry.annotations.*;
import org.apache.tapestry.callback.*;
import org.apache.tapestry.html.*;
import org.apache.tapestry.valid.*;

public abstract class Login extends BasePage {
	abstract public String getEmail();
	abstract public String getPassword();

	@Persist("client")
	public abstract void setNextPage(ICallback callback);
	public abstract ICallback getNextPage();

	@InjectState("user")
	public abstract User getUser();
	
	@Bean
	public abstract ValidationDelegate getDelegate();
	
	public void onLogin(IRequestCycle cycle) {
		try {
			User user = Users.getKnownUsers().getUser(getEmail(), getPassword());
			getUser().copyFrom(user);
			ICallback callback = getNextPage();
			if (callback != null) {
				callback.performCallback(cycle);
			} else {
				cycle.activate("Home");
			}
		} catch (AuthenticationException e) {
			ValidationDelegate delegate = getDelegate(); 
			delegate.setFormComponent(null);
			delegate.record("Login failed", null);
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?