adduser.java

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

JAVA
64
字号
package com.ttdev.dynamicforms;

import org.apache.tapestry.annotations.*;
import org.apache.tapestry.event.*;
import org.apache.tapestry.form.*;
import org.apache.tapestry.html.*;
import org.apache.tapestry.valid.*;

public abstract class AddUser extends BasePage implements PageBeginRenderListener {
	public abstract int getUserId();
	public abstract String getUserName();
	public abstract String getPassword();
	public abstract String getCountry();
	public abstract String getCity();

	@Persist("client")
	public abstract String getCountryForRender();
	public abstract void setCountryForRender(String country);

	public abstract void setCountry(String country);

	@InjectState("users")
	public abstract Users getGlobalUsers();

	public void pageBeginRender(PageEvent event) {
		if (getCountry() == null) {
			setCountry("US");
		}
		if (!event.getRequestCycle().isRewinding()) {
			setCountryForRender(getCountry());
		}
	}
	@Bean
	public abstract ValidationDelegate getDelegate();
	
	public String onOk() {
		if (getDelegate().getHasErrors()) {
			return getPageName();
		}
		getGlobalUsers().insert(new User(
				getUserId(),
				getUserName(),
				getPassword()));
		return "Home";
	}
	public void onRefresh() {
		getDelegate().clearErrors();
	}
	public IPropertySelectionModel getCountries() {
		return new StringPropertySelectionModel(new String[] { "US", "China" });
	}
	public IPropertySelectionModel getCities() {
		if (getCountryForRender().equals("US")) {
			return new StringPropertySelectionModel(new String[] {
					"New York",
					"Boston",
					"Chicago" });
		} else {
			return new StringPropertySelectionModel(new String[] {
					"Beijing",
					"Shanghai" });
		}
	}
}

⌨️ 快捷键说明

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