📄 firstpage.java
字号:
/*
* 创建日期 2005-2-2
*
* 更改所生成文件模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
package com.tapestry;
import java.util.ArrayList;
import java.util.List;
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.event.PageEvent;
import org.apache.tapestry.event.PageRenderListener;
import org.apache.tapestry.html.BasePage;
/**
* @author ADong
*
* 更改所生成类型注释的模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
public abstract class FirstPage
extends BasePage
implements PageRenderListener {
public abstract List getFruitList();
public abstract void setFruitList(List list);
/** 这个方法用于初始化成员变量 */
protected void initialize() {
amount = "0";
foreachIndex = 0;
}
public String amount;
public int foreachIndex;
/** 当页面表现之前,首先运行这个方法 */
public void pageBeginRender(PageEvent event) {
List list = this.getFruitList();
if (list == null) {
list = new ArrayList();
list.add(this.createFruits("橘子", 3.00));
list.add(this.createFruits("李子", 5.50));
list.add(this.createFruits("苹果", 4.20));
list.add(this.createFruits("西瓜", 0.80));
}
this.setFruitList(list);
}
protected Fruits createFruits(String name, double price) {
return new Fruits(name, price);
}
public void buyFruits(IRequestCycle cycle) {
int i = Integer.parseInt(this.getAmount());
//这个监听方法触发时,从Foreach的index参数获取当前索引
Fruits fruit =
(Fruits) (this.getFruitList().get(this.getForeachIndex()));
fruit.setAmount(i);
double money = fruit.getPrice() * i; //计算当前这单买卖的费用。
Visit visit = (Visit) this.getPage().getVisit();
visit.getBuyFruitList().add(fruit); //将用户购买的水果清单存入Visit对象。
if (visit.getPayMoney() == 0) //如果用户第一次访问购物车,则visit对象中payMoney应该为null
visit.setPayMoney(money);
else
money += visit.getPayMoney();//若不是第一次访问购物车,则visit对象中的payMoney加上当前的花费,即为总费用。
//跳转到下一个页面,并将值赋过去。
SecondPage page = (SecondPage) cycle.getPage("SecondPage");
page.setPayMoney(money);
cycle.activate(page);
}
/**
* @return
*/
public int getForeachIndex() {
return foreachIndex;
}
/**
* @return
*/
public String getAmount() {
return amount;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -