⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 productdetails.java

📁 Tapestry的一个练习例子
💻 JAVA
字号:
package com.ttdev.eshop;

import java.util.List;

import org.apache.tapestry.IExternalPage;
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.annotations.InjectPage;
import org.apache.tapestry.annotations.InjectState;
import org.apache.tapestry.annotations.Persist;
import org.apache.tapestry.callback.ExternalCallback;
import org.apache.tapestry.html.BasePage;

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

	public abstract void setProductId(String productId);

	@InjectState("cart")
	public abstract List getCart();

	public ProductDetails() {
	}

	public String getName() {
		return lookup().getName();
	}

	public String getDesc() {
		return lookup().getDesc();
	}

	private Product lookup() {
		return Catalog.getGlobalCatalog().lookup(getProductId());
	}

	public String addToCart() {
		getCart().add(getProductId());
		return "Cart";
	}

	public String continueShopping() {
		return "EshopHome";
	}

	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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -