package com.verin.action;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.verin.ChaffyDish.CQChaffyDish;
import com.verin.ChaffyDish.ChaffyDish;
import com.verin.ChaffyDish.Ingredient;
import com.verin.ChaffyDish.NorthChaffyDish;
import com.verin.ingredient.options.beef;
import com.verin.ingredient.options.bun;
import com.verin.ingredient.options.cabbage;
import com.verin.ingredient.options.celery;
import com.verin.ingredient.options.fish;
import com.verin.ingredient.options.gpapper;
import com.verin.ingredient.options.mutton;
import com.verin.ingredient.options.pig;
import com.verin.ingredient.options.rice;
//处理订单的Action
public class OrderAction extends ActionSupport{
/**
*
*/
private static final long serialVersionUID = 1L;
//原料集合,用于获取用户的选择的原料
public ArrayList<String> ingredients;
//口味,用于获取用户选择的口味
public String taste;
//定义 火锅底料变量
public ChaffyDish cd;
@Override
public String execute() throws Exception {
/*
* 对口味进行判断,并决定生成怎样的火锅
*/
if("1".equals(taste)){
System.out.println("选择了重庆火锅");
cd=new CQChaffyDish();
cd.Cook();
}else{
System.out.println("选择了北方风味火锅");
cd=new NorthChaffyDish();
cd.Cook();
}
/*
* 为火锅添加原料,再计算出价格并放到session中传回页面
*/
System.out.println("你点了下列配料:");
cd=this.addIngredient(cd, ingredients);
System.out.println("你的花费是:$");
System.out.println(cd.cost());
Map map=ActionContext.getContext().getSession();
map.put("orderInfo", cd.getInfo());
map.put("cost", cd.cost());
return SUCCESS;
}
/*
* 一系列get,set方法
*/
public String getTaste() {
return taste;
}
public void setTaste(String taste) {
this.taste = taste;
}
public ArrayList<String> getIngredients() {
return ingredients;
}
public void setIngredients(ArrayList<String> ingredients) {
this.ingredients = ingredients;
}
//为火锅添加原料的方法
public ChaffyDish addIngredient(ChaffyDish cd,ArrayList<String> ingredients){
/*
* 将用户选择原料集合遍历出来
*/
Iterator<String> it=ingredients.iterator();
/*
* 对每个原料进行判断,是否用户已选择,如果选择,则为火锅 加入此种配料
*/
while(it.hasNext()){
String ingredient=it.next();
for(int i=0;i<9;i++){
if((Ingredient.ingredientNames[i].compareTo(ingredient))==0)
{
System.out.println(Ingredient.ingredientNames[i]);
//通过switch进行判断
switch(i){
case 0:
cd=new beef(cd);
break;
case 1:
cd=new pig(cd);
break;
case 2:
cd=new mutton(cd);
break;
case 3:
cd=new fish(cd);
break;
case 4:
cd=new cabbage(cd);
break;
case 5:
cd=new gpapper(cd);
break;
case 6:
cd=new celery(cd);
break;
case 7:
cd=new rice(cd);
break;
case 8:
cd=new bun(cd);
break;
}
}
}
}
return cd;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Hibernate+struts2+观察者+工厂模式实例项目 (180个子文件)
OrderAction.class 4KB
OrderAction.class 4KB
IngredientData.class 3KB
IngredientData.class 3KB
NoticePad2.class 3KB
NoticePad2.class 3KB
NoticePad1.class 3KB
NoticePad1.class 3KB
NoticePad3.class 3KB
NoticePad3.class 3KB
ShowInfo.class 3KB
ShowInfo.class 3KB
Ingredient.class 2KB
Ingredient.class 2KB
Entrance.class 2KB
Entrance.class 2KB
gpapper.class 2KB
gpapper.class 2KB
cabbage.class 2KB
cabbage.class 2KB
celery.class 2KB
celery.class 2KB
mutton.class 2KB
mutton.class 2KB
rice.class 2KB
rice.class 2KB
fish.class 2KB
fish.class 2KB
bun.class 2KB
bun.class 2KB
pig.class 2KB
pig.class 2KB
beef.class 2KB
beef.class 2KB
CharacterEncodingFilter.class 2KB
CharacterEncodingFilter.class 2KB
NorthChaffyDish.class 1KB
NorthChaffyDish.class 1KB
CQChaffyDish.class 1KB
CQChaffyDish.class 1KB
ArachisOil.class 1KB
ArachisOil.class 1KB
BoneSoup.class 1KB
BoneSoup.class 1KB
CornOil.class 1KB
CornOil.class 1KB
Spicy.class 1KB
Spicy.class 1KB
ChaffyDish.class 1KB
ChaffyDish.class 1KB
NorthIngredientFactory.class 755B
NorthIngredientFactory.class 755B
CQIngredientFactory.class 746B
CQIngredientFactory.class 746B
HibernateSessionFactoryUtil.class 725B
HibernateSessionFactoryUtil.class 725B
Subject.class 259B
Subject.class 259B
IngredientFactory.class 233B
IngredientFactory.class 233B
Observer.class 200B
Observer.class 200B
Sauce.class 175B
Sauce.class 175B
Oil.class 171B
Oil.class 171B
.classpath 810B
.classpath 810B
org.eclipse.wst.common.component 510B
org.eclipse.wst.common.component 510B
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.jsdt.ui.superType.container 49B
OrderAction.java 3KB
OrderAction.java 3KB
IngredientData.java 2KB
IngredientData.java 2KB
ShowInfo.java 2KB
ShowInfo.java 2KB
NoticePad2.java 2KB
NoticePad2.java 2KB
NoticePad3.java 2KB
NoticePad3.java 2KB
NoticePad1.java 2KB
NoticePad1.java 2KB
Ingredient.java 2KB
Ingredient.java 2KB
Entrance.java 1KB
Entrance.java 1KB
gpapper.java 1KB
CharacterEncodingFilter.java 1KB
gpapper.java 1KB
CharacterEncodingFilter.java 1KB
cabbage.java 1KB
cabbage.java 1KB
celery.java 1KB
mutton.java 1KB
celery.java 1KB
mutton.java 1KB
beef.java 1KB
beef.java 1KB
共 180 条
- 1
- 2
资源评论
jackhamsir
- 粉丝: 1
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 计科11班未参与实习认知名单.xlsx
- Java 使用回溯法解决01背包问题(含算法原理和代码)
- 毕业答辩模板2016超值实用黑板风毕业论文答辩模版
- 大学生创新创业的心得.doc
- MMDF3N06HDR2G-VB一款SOP8封装2个N-Channel场效应MOS管
- 毕业答辩模板2016超值实用黑板风毕业论文答辩模版(赠手绘图表)
- 毕业答辩模板(中文版式)黑白风毕业论文答辩通用PPT模板B-14
- MMDF3N04HDR2G-VB一款SOP8封装2个N-Channel场效应MOS管
- MMDF3301-VB一款SOP8封装2个P-Channel场效应MOS管
- 毕业答辩模板(医药专业)红色医药论文答辩模板
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功