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

📄 firstpage.java

📁 Tapestry是一个基于控件的框架以致于用它开发Web应用类似开发传统的GUI应用。你用Tapestry开发Web应用时你无需关注以操作为中心的(operation-centric) Servlet
💻 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 + -