home.java

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

JAVA
58
字号
package com.ttdev.phonebook;

import java.util.*;

import org.apache.tapestry.annotations.*;
import org.apache.tapestry.contrib.table.components.*;
import org.apache.tapestry.contrib.table.model.*;
import org.apache.tapestry.contrib.table.model.simple.*;
import org.apache.tapestry.html.*;

public abstract class Home extends BasePage {
	@InjectState("phoneBook")
	public abstract PhoneBook getPhoneBook();
	
	public List getSource() {
		return getPhoneBook().getEntries();
	}
	public IBasicTableModel getModel() {
		return new IBasicTableModel() {
			public int getRowCount() {
				return getPhoneBook().getNoEntries();
			}
			public Iterator getCurrentPageRows(
					int nFirst,
					int nPageSize,
					ITableColumn objSortColumn,
					boolean bSortOrder) {
				String sortColumnId = objSortColumn == null
						? null
						: objSortColumn.getColumnName();
				return getPhoneBook().getSomeEntries(
						nFirst,
						nPageSize,
						sortColumnId,
						bSortOrder == ITableSortingState.SORT_ASCENDING).iterator();
			}
		};
	}
	public void onShowDetails(int entryId) {
		System.out.println("Showing details for " + entryId);
	}
	@InjectComponent("table")
	public abstract TableView getTable();

	@InjectComponent("rows")
	public abstract TableRows getTableRows();

	public void onDelete() {
		int id = ((PhoneBookEntry) getTableRows().getTableRow()).getId();
		System.out.println("Deleting " + id);
		getPhoneBook().deleteEntry(id);
		SimpleTableModel tableModel = ((SimpleTableModel) getTable().getTableModel());
		tableModel.setDataModel(new SimpleListTableDataModel(getSource()));
		tableModel.tableDataChanged(null);
		getTable().fireObservedStateChange();
	}
}

⌨️ 快捷键说明

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