📄 productdetails.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 + -