login.java

来自「Tapestry的一个练习例子」· Java 代码 · 共 40 行

JAVA
40
字号
package com.ttdev.eshop;

import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.annotations.Bean;
import org.apache.tapestry.annotations.InjectState;
import org.apache.tapestry.callback.ICallback;
import org.apache.tapestry.html.BasePage;
import org.apache.tapestry.valid.ValidationDelegate;

public abstract class Login extends BasePage {
	abstract public String getEmail();
	abstract public String getPassword();
	
	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("EshopHome");
			}			
		} catch (AuthenticationException e) {
			ValidationDelegate delegate = getDelegate();
			delegate.setFormComponent(null);
			delegate.record("Login failed", null);
		}
	}
}

⌨️ 快捷键说明

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