6. 카테고리별 상품 썸네일 페이지 만들기

2021. 1. 4. 22:52프로젝트/Salle(살래) 중고거래 웹

728x90

등록된 판매 상품들의 썸네일이 메인페이지에 모두 배치된 것처럼, 카테고리별 페이지마다 상품 썸네일들을 배치시키는 작업을 했습니다. Service, Model, Controller가 메인페이지에 했던 것과 동일하며(참고링크) SQL문 WHERE절로 카테고리명이 추가됐고, Controller가 URL에서 바로 카테고리명을 받아 Service에 전달해줄 수 있게 DB:영문- VIEW:한글로 DB에 저장되는 카테고리 데이터 타입을 영문으로 변경해줬습니다. URL에 한글이 들어가면 문자가 깨질 수 있고 통일성이 없어보이기 때문입니다.

CategoryProductList - SQL문 코드

#{pr_category}는 Spring 내 같은 이름을 가진 변수가 있다면 알아서 주입시켜줍니다. 갓Spring...

    <select id="getCategoryProductList" resultType="Product">
    	SELECT *
    	FROM PRODUCT
    	WHERE PR_CATEGORY = #{pr_category};
    </select>

 

CategoryProductList.jsp 코드

<body>

<%@include file="home.jsp" %>

	<article class="article_product">
	<c:forEach var="product" items="${categoryProductList}">
	<div class="container_product">
	<a href="<c:url value="/productInfo/${product.pr_id}"/>">
		<div class="div_pr_img">
			<img src="${product.pr_img_1}" class="pr_img"/></td>
		</div>
		<div class="div_pr_title">
			${product.pr_title}
		</div>	
		<div class="div_pr_price">
			${product.pr_price}원
		</div>
	</div>
	</a>
	</c:forEach>
	</article>

</body>

 

CategoryProductListController 코드

	@RequestMapping(value = "/category/{pr_category}", method = RequestMethod.GET)
	public String productListGet(Model model, @PathVariable String pr_category) {
		
		model.addAttribute("categoryProductList", productService.getCategoryProductList(pr_category));
		
		return "categoryProductList";
	}

 

시간이 적게 소요돼 해결못했던 오류 중 Validation - MessageSource 출력되지 않는 현상을 개선하기 위해 남은 시간을 사용했습니다. 다음 글에서 이어집니다.