카테고리 없음
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">상세정보»</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">상품주문»</a>
<a href=cart.jsp" class="btn btn-warning">장바구니»</a>
<a href="products.jsp" class="btn btn-secondary">상품목록»</a>
</form>
</p>
</div>
</div>
</div>
<!--------- 상품 상세 끝 --------->
<jsp:include page="footer.jsp"/>
</body>
</html>
출력결과
