📄 orderaction.java
字号:
package edu.jnestore.action;import org.apache.struts.action.*;import javax.servlet.http.*;import java.util.Arrays;import java.text.DecimalFormat;import edu.jnestore.util.SelectedBook;import edu.jnestore.common.User;import edu.jnestore.common.Constants;import edu.jnestore.beans.Book;import edu.jnestore.beans.Order;import edu.jnestore.service.*;/** *处理用户查看购物车以及处理订单的请求 */public class OrderAction extends Action{ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { //获得业务操作对象 IBizService bizservice = BizServiceFactory.createService(); HttpSession session = httpServletRequest.getSession(); //判断当前用户是否已经登录 if(!edu.jnestore.service.CheckLogin.getInstance().isLogin(session)) { return actionMapping.findForward("notLogon"); } OrderActionForm orderActionForm = (OrderActionForm)actionForm; //从session对象中取得与当前用户对应的User对象 User user = (User)session.getAttribute(Constants.USER_KEY); //取得当前用户所选商品 java.util.Collection c = user.getBookList(); if(c!=null) { //将用户所选商品存储到SelectedBook[]中,并添加到orderActionForm对象 java.util.Iterator iterator = c.iterator(); SelectedBook[] bookList = new SelectedBook[c.size()]; for(int n=0;iterator.hasNext();n++) { Book book = (Book)iterator.next(); bookList[n] = new SelectedBook(book.getIsbnid(),book.getName(),book.getAuthor(),book.getPrice()); } orderActionForm.setBookList(bookList); iterator = java.util.Arrays.asList(orderActionForm.getBookList()).iterator(); double totalPrice=0.0; //进行价格汇总 while(iterator.hasNext()) { SelectedBook book = (SelectedBook)iterator.next(); Double price = Double.valueOf(book.getPrice()); totalPrice = totalPrice + price.doubleValue(); } DecimalFormat format = new DecimalFormat("######0.00"); orderActionForm.setTotalPrice(format.format(totalPrice)); } //如果orderActionForm的action属性不为null,表明要进行订单处理,调用业务操作对象的 //processOrder方法进行订单处理 if(orderActionForm.getAction()!=null) { SelectedBook[] booklist = orderActionForm.getBookList(); for(int n=0;n<booklist.length;n++) { Order order = new Order(user.getUserID(),booklist[n].getIsbnid()); try{ bizservice.processOrder(order); }catch(Exception e) { e.printStackTrace(); } } user.setBookList(null); } return actionMapping.findForward("order"); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -