상품 정보 등록 페이지 만들기
addProduct.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<title>상품 등록</title>
</head>
<body>
<jsp:include page="menu.jsp" />
<div class="jumbotron">
<div class="container">
<h1 class="display-3">상품 등록</h1>
</div>
</div>
<div class="container">
<form name="newProudct" action="./processAddProduct.jsp"
class="form-horizontal" method="post">
<div class="form-group row">
<label class="col-sm-2">상품 코드</label>
<div class="col-sm-3">
<input type="text" name="productId" class="form-control">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2">가격</label>
<div class="col-sm-3">
<input type="text" name="unitPrice" class="form-control">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2">상세 정보</label>
<div class="col-sm-5">
<textarea name="description" cols="50" rows="2"
class="form-control"></textarea>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2">제조사</label>
<div class="col-sm-3">
<input type="text" name="manufacturer" class="form-control">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2">분류</label>
<div class="col-sm-3">
<input type="text" name="category" class="form-control">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2">재고 수</label>
<div class="col-sm-3">
<input type="text" name="unitsInStock" class="form-control">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2">상태</label>
<div class="col-sm-5">
<input type="radio" name="condition" value="New">신규 제품 <input
type="radio" name="condition" value="Old">중고 제품 <input
type="radio" name="condition" value="Refurbished">재생 제품
</div>
</div>
<div class="form-group row">
<div class="col-sm-offset-2 col-sm-10">
<input type="submit" class="btn btn-primary" value="등록">
</div>
</div>
</form>
</div>
</body>
</html>
상품 정보 등록 처리 페이지 만들기
processAddProduct.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="dto.Product"%>
<%@page import="dao.ProductRepository"%>
<%
request.setCharacterEncoding("UTF-8");
String productId=request.getParameter("productId");
String name=request.getParameter("name");
String unitPrice=request.getParameter("unitPrice");
String description=request.getParameter("description");
String manufacturer=request.getParameter("manufacturer");
String category=request.getParameter("category");
String unitInStock=request.getParameter("unitInStock");
String condition=request.getParameter("condition");
Integer price;
if(unitPrice.isEmpty())
price=0;
else
price=Integer.valueOf(unitPrice);
long stock;
if(unitInStock.isEmpty())
stock=0;
else
stock=Long.valueOf(unitInStock);
ProductRepository dao = ProductRepository.getInstance();
Product newProduct=new Product();
newProduct.setProductId(productId);
newProduct.setPname(name);
newProduct.setUnitPrice(price);
newProduct.setDescription(description);
newProduct.setManufacturer(manufacturer);
newProduct.setCategory(category);
newProduct.setUnitsInStock(stock);
newProduct.setCondition(condition);
dao.addProduct(newProduct);
response.sendRedirect("products.jsp");
%>
상품 목록 페이지, 상품 상세 정보 페이지 수정하기
products.jsp
<%@ page contentType="text/html; charset=utf-8"%>
<%@ page import="java.util.ArrayList"%>
<%@ page import="dto.Product"%>
<%@ page import="dao.ProductRepository"%>
<jsp:useBean id="productDAO" class="dao.ProductRepository" scope="session" />
<html>
<head>
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<meta charset="UTF-8">
<title>상품 목록</title>
</head>
<body>
<jsp:include page="menu.jsp" />
<div class="jumbotron">
<div class="container">
<h1 class="display-3">상품 목록</h1>
</div>
</div>
<%
ArrayList<Product> listOfProducts = productDAO.getAllProducts();
ProductRepository dao = ProductRepository.getInstance();
%>
<div class="container">
<div class="row" align="center">
<%
for (int i = 0; i < listOfProducts.size(); i++) {
Product product = listOfProducts.get(i);
%>
<div class="col-md-4">
<h3><%=product.getPname()%></h3>
<p><%=product.getDescription()%>
<p><%=product.getUnitPrice()%>원
<p><a href="./product.jsp?id=<%=product.getProductId()%>"
class="btn btn-secondary" role="button"> 상세 정보 »</a>
</div>
<%
}
%>
</div>
<hr>
</div>
<jsp:include page="footer.jsp" />
</body>
</html>
실행결과
'Study > WebServer' 카테고리의 다른 글
[웹 쇼핑몰 실습] 유효성 검사 (0) | 2021.08.22 |
---|---|
[웹 쇼핑몰 실습] 상품 이미지 등록하기 (0) | 2021.08.22 |
[웹 쇼핑몰 실습] 상품 상세 정보 표시 (0) | 2021.08.22 |
[웹 쇼핑몰 실습] 상품 목록 표시 (0) | 2021.08.22 |
[웹 쇼핑몰 실습] 한글 출력 및 페이지 모듈화 (0) | 2021.08.22 |