OrderForm.java
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package cn.com.book.demo.struts.form;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.validator.ValidatorForm;
/**
* MyEclipse Struts
* Creation date: 12-19-2007
*
* XDoclet definition:
* @struts.form name="orderForm"
*/
public class OrderForm extends ValidatorForm {
private String sendAddress;
private String receiveName;
private String receivePhone;
/*
* Generated Methods
*/
public String getReceiveName() {
return receiveName;
}
public void setReceiveName(String receiveName) {
this.receiveName = receiveName;
}
public String getReceivePhone() {
return receivePhone;
}
public void setReceivePhone(String receivePhone) {
this.receivePhone = receivePhone;
}
public String getSendAddress() {
return sendAddress;
}
public void setSendAddress(String sendAddress) {
this.sendAddress = sendAddress;
}
/**
* Method validate
* @param mapping
* @param request
* @return ActionErrors
*/
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
// TODO Auto-generated method stub
return null;
}
/**
* Method reset
* @param mapping
* @param request
*/
public void reset(ActionMapping mapping, HttpServletRequest request) {
// TODO Auto-generated method stub
}
}
OrderAction.java
/**
*
*/
package cn.com.book.demo.struts.action;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import cn.com.book.demo.services.OrderServices;
import cn.com.book.demo.services.ShopServices;
import cn.com.book.demo.services.ShoppingCar;
import cn.com.book.demo.services.UserOrder;
import cn.com.book.demo.services.UserOrderItem;
import cn.com.book.demo.services.impl.OrderServicesImpl;
import cn.com.book.demo.services.impl.ShopServicesImpl;
import cn.com.book.demo.struts.form.OrderForm;
import cn.com.book.demo.struts.util.Constants;
/**
* @author Noble.Yang
*
*/
public class OrderAction extends DispatchAction {
private OrderServices orderServices = null;
private ShopServices shopServices = null;
public void setOrderServices(OrderServices orderServices) {
this.orderServices = orderServices;
}
public void setShopServices(ShopServices shopServices) {
this.shopServices = shopServices;
}
public ActionForward toInitPage(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
return mapping.findForward("init");
}
public ActionForward toSubmitOrder(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String path = "error";
this.initServices();
OrderForm orderForm = (OrderForm) form;
ShoppingCar shopCar = (ShoppingCar) request.getSession().getAttribute(
Constants.SHOPPING_KEY);
if (shopCar != null) {
UserOrder userOrder = new UserOrder();
userOrder.setReceiveName(orderForm.getReceiveName());
userOrder.setSendAddress(orderForm.getSendAddress());
userOrder.setReceivePhone(orderForm.getReceivePhone());
int[] shops = shopCar.getShops();
if (shops != null) {
List items = new ArrayList();
UserOrderItem item = null;
for (int i = 0; i < shops.length; i++) {
item = new UserOrderItem();
item.setShopID(shops[i]);
item.setSinglePrice(this.shopServices
.findShopById(shops[i]).getPrice());
item.setAmount(shops[i + 1]);
items.add(item);
i++;
}
userOrder.setOrderItems(items);
}
String userName = (String) request.getSession().getAttribute(
Constants.USER_NAME);
boolean bool = this.orderServices.submitOrder(userOrder, userName);
if (bool) {
request.getSession().removeAttribute(Constants.SHOPPING_KEY);
path = "success";
}
}
return mapping.findForward(path);
}
private void initServices() {
if (this.orderServices == null) {
this.orderServices = new OrderServicesImpl();
}
if (this.shopServices == null) {
this.shopServices = new ShopServicesImpl();
}
}
}