package com.restrant.action;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Random;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.RequestAware;
import com.opensymphony.xwork2.ActionSupport;
import com.restrant.biz.MealBiz;
import com.restrant.biz.MealSeriesBiz;
import com.restrant.entity.Meal;
import com.restrant.entity.Pager;
import org.apache.commons.io.FileUtils;
public class MealAction extends ActionSupport implements RequestAware {
//定义Meal类型属性,用于封装表单参数
private Meal meal;
public Meal getMeal() {
return meal;
}
public void setMeal(Meal meal) {
this.meal = meal;
}
MealBiz mealBiz;
public void setMealBiz(MealBiz mealBiz) {
this.mealBiz = mealBiz;
}
MealSeriesBiz mealSeriesBiz;
public void setMealSeriesBiz(MealSeriesBiz mealSeriesBiz) {
this.mealSeriesBiz = mealSeriesBiz;
}
//分页实体类
private Pager pager;
public Pager getPager() {
return pager;
}
public void setPager(Pager pager) {
this.pager = pager;
}
private File doc; //封装上传文件的属性
private String docFileName; //封装上传文件的名称属性
private String docContentType; //封装上传文件的类型属性
Map<String, Object> request;
@Override
public void setRequest(Map<String, Object> request) {
this.request=request;
}
//获取指定页码、符合查询条件的餐品列表,再转到餐品显示页show.jsp
public String toShowMeal() throws Exception {
int curPage=1;
if(pager!=null)
curPage=pager.getCurPage();
List mealList=null;
if(meal!=null){
//meal不为空,表示表单中输入了查询条件,此时将获取指定页码、符合查询条件的餐品列表
mealList=mealBiz.getMealByCondition(meal, curPage);
//统计符合查询条件的餐品数量,初始化分页类Pager对象,设置perPageRows和rowCount属性
pager=mealBiz.getPagerOfMeal(meal);
//将查询条件存入request范围,将作为分页超链接中的参数值
if((meal.getMealseries()!=null) && (meal.getMealseries().getSeriesId()!=null))
request.put("seriesId", new Integer(meal.getMealseries().getSeriesId()) );
if((meal.getMealName()!=null) && !meal.getMealName().equals(""))
request.put("mealName", meal.getMealName());
}else{
//meal为空,表示没有指定查询条件,此时将获取指定页码的餐品列表
mealList=mealBiz.getAllMeal(curPage);
//获取所有菜品数量,用来初始化分页类Pager对象,并设置其perPageRows和rowCount属性
pager=mealBiz.getPagerOfMeal();
}
//设置Pager对象中的待显示页页码
pager.setCurPage(curPage);
//将查询获得的列表存入request范围
request.put("mealList", mealList);
//获取菜系列表,存入request范围
List mealSeriesList=mealSeriesBiz.getMealSeries();
request.put("mealSeriesList", mealSeriesList);
return "toShowMeal";
}
public String toShowDetails() throws Exception {
Meal aMeal=mealBiz.getMealByMealId(meal.getMealId());
request.put("aMeal", aMeal);
return "toShowDetails";
}
//获取菜系列表,再转到添加餐品页addMeal.jsp
public String toAddMeal() throws Exception {
List mealSeriesList=mealSeriesBiz.getMealSeries();
request.put("mealSeriesList", mealSeriesList);
return "addMeal";
}
//上传餐品图片、添加餐品信息,再转到toShowMeal
public String doAddMeal() throws Exception {
if(docFileName!=null){ //判断是否选择了上传图片
// 得到当前web工程下的upload目录的在本机的绝对路径,如果没有这个文件夹则会创建
String targetDirectory = ServletActionContext.getServletContext().getRealPath("/mealimages");
//重命名上传文件
String targetFileName = generateFileName(docFileName);
//在指定目录创建文件
File target = new File(targetDirectory, targetFileName);
//把要上传的文件copy过去
FileUtils.copyFile(doc, target);
meal.setMealImage(targetFileName);
mealBiz.addMeal(meal);
}
return "toShowMeal";
}
//重命名上传文件
public String generateFileName(String fileName){
String formatDate = new SimpleDateFormat("yyMMddHHmmss").format(new Date());
int random = new Random().nextInt(10000);
int position = fileName.lastIndexOf(".");
String extension = fileName.substring(position);
return formatDate + random + extension;
}
//获取指定页码、符合查询条件的餐品列表,再转到菜品管理页managemeal.jsp
public String toManageMeal() throws Exception {
int curPage=1;
if(pager!=null)
curPage=pager.getCurPage();
List mealList=null;
if(meal!=null){
mealList=mealBiz.getMealByCondition(meal, curPage);
pager=mealBiz.getPagerOfMeal(meal);
if((meal.getMealseries()!=null) && (meal.getMealseries().getSeriesId()!=null))
request.put("seriesId", new Integer(meal.getMealseries().getSeriesId()) );
if((meal.getMealName()!=null) && !meal.getMealName().equals(""))
request.put("mealName", meal.getMealName());
}else{
mealList=mealBiz.getAllMeal(curPage);
//获取所有菜品数量,用来初始化分页类Pager对象,并设置其perPageRows和rowCount属性
pager=mealBiz.getPagerOfMeal();
}
//设置Pager对象中的待显示页页码
pager.setCurPage(curPage);
request.put("mealList", mealList);
//获取菜系列表,存入request范围
List mealSeriesList=mealSeriesBiz.getMealSeries();
request.put("mealSeriesList", mealSeriesList);
return "managemeal";
}
//获取要修改的餐品对象,存入request范围,再转到餐品信息修改页
public String toUpdateMeal() throws Exception {
//获取要修改的餐品对象,存入request范围
Meal updatedMeal=mealBiz.getMealByMealId(meal.getMealId());
request.put("updatedMeal", updatedMeal);
//获取菜系列表,存入request范围
List mealSeriesList=mealSeriesBiz.getMealSeries();
request.put("mealSeriesList", mealSeriesList);
return "updateMeal";
}
//执行餐品信息修改,再转到toShowMeal
public String doUpdateMeal() throws Exception {
if(docFileName!=null){
// 得到当前web工程下的upload目录的在本机的绝对路径,如果没有这个文件夹则会创建
String targetDirectory = ServletActionContext.getServletContext().getRealPath("/mealimages");
//重命名上传文件
String targetFileName = generateFileName(docFileName);
//在指定目录创建文件
File target = new File(targetDirectory, targetFileName);
//把要上传的文件copy过去
FileUtils.copyFile(doc, target);
//修改餐品图片
meal.setMealImage(targetFileName);
}
//更新餐品对象
mealBiz.updateMeal(meal);
return "toShowMeal";
}
//处理删除餐品对象请求,再转到toManageMeal
public String deleteMeal() throws Exception {
mealBiz.deleteMeal(meal.getMealId());
return "toManageMeal";
}
public File getDoc() {
return doc;
}
public void setDoc(File doc) {
this.doc = doc;
}
public String getDocFileName() {
return docFileName;
}
public void setDocFileName(String docFileName) {
this.docFileName = docFileName;
}
public String getDocContentType() {
return docContentType;
}
public void setDocContentType(String docContentType) {
this.docContentType = docContentType;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
毕设外卖订餐系统JAVA+JSP+数据库+项目部署教程+完整代码 (293个子文件)
MealAction.class 7KB
OrdersAction.class 6KB
MealDAOImpl.class 4KB
OrdersDAOImpl.class 4KB
UserAction.class 3KB
CartAction.class 3KB
Meal.class 3KB
Users.class 2KB
AuthFilter.class 2KB
Orders.class 2KB
OrdersBizImpl.class 2KB
MealBizImpl.class 2KB
UserDAOImpl.class 2KB
Orderdts.class 2KB
OrderDtsDAOImpl.class 2KB
AuthorityInterceptor.class 2KB
Mealseries.class 1KB
Admin.class 1KB
UserBizImpl.class 1KB
MealSeriesDAOImpl.class 1KB
Pager.class 1007B
OrderDtsBizImpl.class 896B
CartItemBean.class 889B
MealSeriesBizImpl.class 709B
OrdersBiz.class 548B
OrdersDAO.class 542B
MealBiz.class 512B
MealDAO.class 509B
UserDAO.class 307B
UserBiz.class 306B
OrderDtsDAO.class 227B
OrderDtsBiz.class 227B
MealSeriesBiz.class 169B
MealSeriesDAO.class 169B
.classpath 2KB
org.eclipse.wst.common.component 485B
org.eclipse.wst.jsdt.ui.superType.container 49B
styles.css 1013B
项目部署说明.doc 332KB
tp009.gif 5KB
insider_cn.gif 2KB
link_cn.gif 2KB
dynamic_cn.gif 2KB
lcart_cn.gif 2KB
buy_cn.gif 1KB
detail_cn.gif 1KB
handle.gif 632B
0.gif 575B
2.gif 574B
5.gif 563B
icon_order.gif 137B
001.gif 129B
002.gif 65B
004.gif 59B
005.gif 57B
003.gif 52B
hibernate-core-4.1.4.Final.jar 4.21MB
infinispan-core-5.1.4.FINAL.jar 1.91MB
jgroups-3.0.9.Final.jar 1.71MB
aspectjweaver-1.6.9.jar 1.59MB
xwork-core-2.2.1.jar 997KB
ehcache-core-2.4.3.jar 983KB
freemarker-2.3.16.jar 860KB
org.springframework.context-3.1.1.RELEASE.jar 812KB
mysql-connector-java-5.1.18-bin.jar 771KB
mysql-connector-java-5.1.18-bin.jar 771KB
struts2-core-2.2.1.jar 755KB
struts2-embeddedjsp-plugin-2.2.1.jar 662KB
javassist-3.15.0-GA.jar 633KB
c3p0-0.9.1.2.jar 596KB
c3p0-0.9.1.jar 594KB
org.springframework.beans-3.1.1.RELEASE.jar 576KB
org.springframework.web.servlet-3.1.1.RELEASE.jar 560KB
commons-collections-3.2.jar 558KB
org.springframework.web-3.1.1.RELEASE.jar 532KB
javassist-3.7.ga.jar 531KB
log4j-1.2.16.jar 470KB
woodstox-core-asl-4.1.1.jar 467KB
hibernate-entitymanager-4.1.4.Final.jar 466KB
proxool-0.8.3.jar 465KB
org.springframework.core-3.1.1.RELEASE.jar 439KB
antlr-2.7.7.jar 435KB
org.springframework.jdbc-3.1.1.RELEASE.jar 395KB
hibernate-envers-4.1.4.Final.jar 382KB
jstl-impl.jar 379KB
org.springframework.orm-3.1.1.RELEASE.jar 370KB
antlr-2.7.2.jar 350KB
org.springframework.aop-3.1.1.RELEASE.jar 324KB
cglib-nodep-2.2.jar 315KB
dom4j-1.6.1.jar 307KB
commons-httpclient-3.1.jar 298KB
commons-lang-2.5.jar 273KB
org.springframework.transaction-3.1.1.RELEASE.jar 241KB
commons-lang-2.3.jar 240KB
ognl-3.0.jar 224KB
jboss-marshalling-1.3.11.GA.jar 223KB
org.springframework.jms-3.1.1.RELEASE.jar 195KB
org.springframework.web.portlet-3.1.1.RELEASE.jar 186KB
commons-beanutils-1.7.0.jar 184KB
stax2-api-3.1.1.jar 178KB
共 293 条
- 1
- 2
- 3
资源评论
- 赵广陆2020-05-30不错拿ssh做的 可以运行
杨小黄人
- 粉丝: 7
- 资源: 83
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
- C语言实现直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、计数排序,并带图详解.zip
- 常用工具集参考用于图像等数据处理
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功