2013년 8월 8일 목요일

[Struts Shopping cart, 오라클자바커뮤니티]스트럿츠 이번에는 상품 상세보기에서 장바구니 담기를 구현해 보도록 하죠^^

이번에는 상품 상세보기에서 장바구니 담기를 구현해 보도록 하죠^^


오라클자바커뮤니티에서 설립한 오엔제이프로그래밍 실무교육센터
(오라클SQL, 튜닝, 힌트,자바프레임워크, 안드로이드, 아이폰, 닷넷 실무전문 강의)  


 

---------------------------------------------------------------
1. 상품상세보기 에서는 다음과 같이 HTML FORM 태그를 구성합니다.
---------------------------------------------------------------

<html:form action="/CartInsert">



----------------------------------------------------------------
2. CartInsert를 위한 struts-config.xml은 다음과 같습니다.
----------------------------------------------------------------

<!-- Insert ShoppingCart  -->
        <action         
            path="/CartInsert"
            type="goods.action.CartInsertAction"
            name="cartForm"                                     
        />

혹시 몰라 말씀드리는데... 스트럿츠의 <html:form>에는 html이나 jsp에서 from name을 주지않도록 되어 있는데,.,, 이는 struts-config.xml안에서 정의하기 때문이죠... html 소스 보기를 하면 자동으로 form name이 변환되어져 있는 것을 확인 할 수 있습니다.


----------------------------------------------------------------
3. CartInsertAction.java
----------------------------------------------------------------

//============================================================================
/**
  * 시스템명 : goods / 장바구니
  * 작 성 일  : 2005-05-15
  * 작 성 자  : Lee, Jong-Cheol
  * 수 정 자  :
  * 파 일 명  : goods.action.CartInsertAction
  * 버    전  : 1.0
  * 개    요  : 쇼핑카트의 물품 추가 Action
  * 이    력  : 2005-05-15 : 초기 작성
  *     
  */
//============================================================================

package goods.action;

import java.util.ArrayList;

import goods.model.Cart;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.DynaActionForm;

import oraclejava.BaseActionLogin;
import oraclejava.Constants;
import oraclejava.YLog;


/**
 * @author 이종철
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class CartInsertAction extends BaseActionLogin{
    public ActionForward cartInsert(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
                    throws Exception {                         
       
                DynaActionForm dForm = (DynaActionForm)form;
       
                String gCode        = dForm.get("gcode").toString();
                String gName        = dForm.get("gname").toString();
                String gName2      = dForm.get("gname2").toString();
                String price        = dForm.get("price").toString();
                String cnt          = dForm.get("cnt").toString();
                String juklip_ratio = dForm.get("juklip_ratio").toString();
                String unit        = dForm.get("unit").toString();
                String image_path3  = dForm.get("image_path3").toString();
                String is_taekbae_discount  = dForm.get("is_taekbae_discount").toString();
                String is_direct    = dForm.get("is_direct").toString();
             
                Cart cart = getCart(request);
                                                                                                                     
                cart.addItem(gCode, gName, gName2, price, cnt, juklip_ratio, unit, image_path3, is_taekbae_discount);
               
                ArrayList cartList = (ArrayList)cart.getCartItems();
               
                HttpSession session = request.getSession();
                   
                session.setAttribute(Constants.CART_LIST, cartList);
               
                //장바구니 보기
                if (is_direct.equals("N")) {                                     
                    return mapping.findForward(Constants.CARTOK);
                }
                //바로 주문하기
                else {
                    return mapping.findForward(Constants.ORDERPAGE); 
                }                                                         
            }
}


Cart.java, CartItem.java는 이전 강좌를 참고 하세요~

댓글 없음:

댓글 쓰기