productdetails.java

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

JAVA
45
字号
package com.ttdev.shop;

import java.util.*;

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

public abstract class ProductDetails extends BasePage implements IExternalPage {
	@Persist("client")
	public abstract String getProductId();
	public abstract void setProductId(String productId);

	public String getName() {
		return lookup().getName();
	}
	public String getDesc() {
		return lookup().getDesc();
	}
	private Product lookup() {
		return Catalog.getGlobalCatalog().lookup(getProductId());
	}
	@InjectState("cart")
	public abstract List getCart();

	public String addToCart() {
		getCart().add(getProductId());
		return "Cart";
	}
	public String continueShopping() {
		return "Home";
	}
	public void activateExternalPage(Object[] parameters, IRequestCycle cycle) {
		setProductId((String) parameters[0]);
	}
	@InjectPage("Login")
	public abstract Login getLoginPage();
	
	public Login login() {
		getLoginPage().setNextPage(new ExternalCallback(this, new String[] { getProductId() }));
		return getLoginPage();
	}
}

⌨️ 快捷键说明

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