카테고리 없음

JSP 제품 상세페이지

9400 2022. 12. 29. 12:11

상세정보 버튼 코드 

	<!-- 표현문 -->
	<c:set var="listOfProducts" value="<%= listOfProducts %>"/>
	<!--  container : 내안에 내용있다.-->
	<div class="container">
		<!-- 행 별 처리 -->
		<div class="row" align="center">
		<c:forEach var="ProductVO" items="${listOfProducts}">
			<div class="col-md-4">
				<img src="/images/${ProductVO.filename}" style="width:100%;" alt="${ProductVO.pname}" title="${ProductVO.pname}"/>
				<h3>${ProductVO.pname}</h3>
				<p>${ProductVO.description}</p>
				<p>${ProductVO.unitPrice}</p>
				<p><a href="product.jsp?id=${ProductVO.productId} "
					class="btn btn-secondary" role="button">상세정보&raquo;</a></p>
			</div>
		</c:forEach>
		</div>
	</div>

누르면 

product.jsp?id = P1234 등 제품의 아이디(기본키)가

product.jsp로 같이 날아감 

 

 

상세페이지 코드

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@page import="kr.or.ddit.vo.ProductVO"%>
<%@page import="kr.or.ddit.dao.ProductRepository"%>
<%  //스크립틀릿
	//DAO(Data Access Object -> 데이터를 가져오는 객체)
	ProductRepository productDAO = ProductRepository.getInstance();
%>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="/css/bootstrap.min.css"/>
<title>상품 상세 정보</title>
</head>
<body>
	<!-- include 액션 태그 -->
	<jsp:include page="menu.jsp"/>
	
	<!--------- 상품 상세 시작 ------->
	<div class="jumbotron">
	 	<!-- 이안에 내용있다. -->
		<div class="container">
			<h1 class="display-3">상품정보</h1>
		</div>
	</div>
	
	 <%  //스크립틀릿
		//http://localhost/product.jsp?id=P1234
		//id=P1234 요청 파라미터는 request객체 안에 있음
		//파라미터의 값의 타입은 String
		String id = request.getParameter("id"); //P1234
		//out.print("id:"+id); 아이디 잘 넘어오나 확인
		//P1234 기본키에 해당되는 상품 1행을 가져오자 
		//SELECT * FROM PRODUCT WHERE PRODUCT_ID = 'P1234';
		ProductVO productVO = productDAO.getProductById(id);
		//out.print(productVO);
        
        
        정리 -> 
        String id = request.getParameter("id");
        ProductVO productVO = productDAO.getProductById(id);
        id로 productVO 한줄을 가져옴 (상품하나)
	%>
    
    <!--C 셋팅 -->
	<c:set var="ProductVO" value="<%=productVO %>"/>
	<div class="container">
		<!-- 1건의 상품. 1행 -->
		<div class="row">
			<!-- 이미지div(왼쪽) -->
			<div class="col-md-4">
				<img src="/images/${ProductVO.filename}"
				alt="${ProductVO.pname}" title="${ProductVO.pname}" 
				style="width:100%;" />
			</div>
			<!-- 6크기의 1열 div -->
			<div class="col-md-6">
				<h3>${ProductVO.pname}</h3>
				<p>${ProductVO.description}</p>
				<p>
					<b>상품 코드 : </b>
					<span class="badge badge-danger">
						${ProductVO.productId}
					</span>
				</p>
				<p><b>제조자 : ${ProductVO.manufacturer} </b></p>
				<p><b>분   류 : ${ProductVO.category} </b></p>
				<p><b>재고수 : ${ProductVO.unitsInStock}</b></p>
				<h4>
                 <!--가격에 , ₩붙이기 -->
					<fmt:formatNumber value="${ProductVO.unitPrice}"
					type="currency" currencySymbol="₩"/></h4>
				<p>
					<form name="addForm" action="addCart.jsp?id=<%=productVO.getProductId()%>" 
					method="post">
						<a href="#" class="btn btn-info">상품주문&raquo;</a>
						<a href=cart.jsp" class="btn btn-warning">장바구니&raquo;</a>
						<a href="products.jsp" class="btn btn-secondary">상품목록&raquo;</a>
					</form>
				</p>
			</div>
		</div>
	</div>
	<!--------- 상품 상세 끝 --------->
	
	<jsp:include page="footer.jsp"/> 

</body>
</html>

 

 

출력결과