[Spring][쇼핑몰 프로젝트][33] 메인화면 네비 기능(<a>태그 동적 추가)
https://kimvampa.tistory.com/252
This commit is contained in:
@@ -39,8 +39,13 @@ public class BookController {
|
||||
|
||||
//메인 페이지 이동
|
||||
@RequestMapping(value="/main", method = RequestMethod.GET)
|
||||
public void mainPageGET() {
|
||||
public void mainPageGET(Model model) {
|
||||
|
||||
logger.info("메인 페이지 진입");
|
||||
|
||||
model.addAttribute("cate1", bookService.getCateCode1());
|
||||
model.addAttribute("cate2", bookService.getCateCode2());
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.vam.mapper;
|
||||
import java.util.List;
|
||||
|
||||
import com.vam.model.BookVO;
|
||||
import com.vam.model.CateVO;
|
||||
import com.vam.model.Criteria;
|
||||
|
||||
public interface BookMapper {
|
||||
@@ -14,6 +15,12 @@ public interface BookMapper {
|
||||
public int goodsGetTotal(Criteria cri);
|
||||
|
||||
/* 작가 id 리스트 요청 */
|
||||
public String[] getAuthorIdList(String keyword);
|
||||
public String[] getAuthorIdList(String keyword);
|
||||
|
||||
/* 국내 카테고리 리스트 */
|
||||
public List<CateVO> getCateCode1();
|
||||
|
||||
/* 외국 카테고리 리스트 */
|
||||
public List<CateVO> getCateCode2();
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.vam.service;
|
||||
import java.util.List;
|
||||
|
||||
import com.vam.model.BookVO;
|
||||
import com.vam.model.CateVO;
|
||||
import com.vam.model.Criteria;
|
||||
|
||||
public interface BookService {
|
||||
@@ -13,4 +14,10 @@ public interface BookService {
|
||||
/* 상품 총 갯수 */
|
||||
public int goodsGetTotal(Criteria cri);
|
||||
|
||||
/* 국내 카테고리 리스트 */
|
||||
public List<CateVO> getCateCode1();
|
||||
|
||||
/* 외국 카테고리 리스트 */
|
||||
public List<CateVO> getCateCode2();
|
||||
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.vam.mapper.AttachMapper;
|
||||
import com.vam.mapper.BookMapper;
|
||||
import com.vam.model.AttachImageVO;
|
||||
import com.vam.model.BookVO;
|
||||
import com.vam.model.CateVO;
|
||||
import com.vam.model.Criteria;
|
||||
|
||||
import lombok.extern.log4j.Log4j;
|
||||
@@ -72,4 +73,22 @@ public class BookServiceImpl implements BookService{
|
||||
|
||||
}
|
||||
|
||||
/* 국내 카테고리 리스트 */
|
||||
@Override
|
||||
public List<CateVO> getCateCode1() {
|
||||
|
||||
log.info("getCateCode1().........");
|
||||
|
||||
return bookMapper.getCateCode1();
|
||||
}
|
||||
|
||||
/* 외국 카테고리 리스트 */
|
||||
@Override
|
||||
public List<CateVO> getCateCode2() {
|
||||
|
||||
log.info("getCateCode2().........");
|
||||
|
||||
return bookMapper.getCateCode2();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -72,6 +72,23 @@
|
||||
select authorid from vam_author where authorName like '%' || #{keyword} || '%'
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 국내 카테고리 리스트 -->
|
||||
<select id="getCateCode1" resultType="com.vam.model.CateVO">
|
||||
|
||||
<![CDATA[
|
||||
select * from vam_bcate where cateCode > 100000 and cateCode < 200000
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 외국 카테고리 리스트 -->
|
||||
<select id="getCateCode2" resultType="com.vam.model.CateVO">
|
||||
|
||||
<![CDATA[
|
||||
select * from vam_bcate where cateCode > 200000 and cateCode < 300000
|
||||
]]>
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -92,13 +92,9 @@
|
||||
<i class="fa fa-caret-down"></i>
|
||||
</button>
|
||||
<div class="dropdown-content">
|
||||
<a href="/search?type=C&cateCode=202001">교양</a>
|
||||
<a href="#">테스트1</a>
|
||||
<a href="#">테스트2</a>
|
||||
<a href="#">테스트3</a>
|
||||
<a href="#">테스트4</a>
|
||||
<a href="#">테스트5</a>
|
||||
<a href="#">테스트6</a>
|
||||
<c:forEach items="${cate1}" var="cate">
|
||||
<a href="search?type=C&cateCode=${cate.cateCode}">${cate.cateName}</a>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dropdown">
|
||||
@@ -106,12 +102,9 @@
|
||||
<i class="fa fa-caret-down"></i>
|
||||
</button>
|
||||
<div class="dropdown-content">
|
||||
<a href="#">테스트1</a>
|
||||
<a href="#">테스트2</a>
|
||||
<a href="#">테스트3</a>
|
||||
<a href="#">테스트4</a>
|
||||
<a href="#">테스트5</a>
|
||||
<a href="#">테스트6</a>
|
||||
<c:forEach items="${cate2}" var="cate">
|
||||
<a href="search?type=C&cateCode=${cate.cateCode}">${cate.cateName}</a>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -72,6 +72,23 @@
|
||||
select authorid from vam_author where authorName like '%' || #{keyword} || '%'
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 국내 카테고리 리스트 -->
|
||||
<select id="getCateCode1" resultType="com.vam.model.CateVO">
|
||||
|
||||
<![CDATA[
|
||||
select * from vam_bcate where cateCode > 100000 and cateCode < 200000
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 외국 카테고리 리스트 -->
|
||||
<select id="getCateCode2" resultType="com.vam.model.CateVO">
|
||||
|
||||
<![CDATA[
|
||||
select * from vam_bcate where cateCode > 200000 and cateCode < 300000
|
||||
]]>
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -38,10 +38,15 @@ public class BookController {
|
||||
@Autowired
|
||||
private BookService bookService;
|
||||
|
||||
//메인 페이지 이동
|
||||
@RequestMapping(value="/main", method = RequestMethod.GET)
|
||||
public void mainPageGET() {
|
||||
//메인 페이지 이동
|
||||
@RequestMapping(value="/main", method = RequestMethod.GET)
|
||||
public void mainPageGET(Model model) {
|
||||
|
||||
logger.info("메인 페이지 진입");
|
||||
|
||||
model.addAttribute("cate1", bookService.getCateCode1());
|
||||
model.addAttribute("cate2", bookService.getCateCode2());
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.vam.mapper;
|
||||
import java.util.List;
|
||||
|
||||
import com.vam.model.BookVO;
|
||||
import com.vam.model.CateVO;
|
||||
import com.vam.model.Criteria;
|
||||
|
||||
public interface BookMapper {
|
||||
@@ -16,4 +17,10 @@ public interface BookMapper {
|
||||
/* 작가 id 리스트 요청 */
|
||||
public String[] getAuthorIdList(String keyword);
|
||||
|
||||
/* 국내 카테고리 리스트 */
|
||||
public List<CateVO> getCateCode1();
|
||||
|
||||
/* 외국 카테고리 리스트 */
|
||||
public List<CateVO> getCateCode2();
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.vam.service;
|
||||
import java.util.List;
|
||||
|
||||
import com.vam.model.BookVO;
|
||||
import com.vam.model.CateVO;
|
||||
import com.vam.model.Criteria;
|
||||
|
||||
public interface BookService {
|
||||
@@ -12,5 +13,11 @@ public interface BookService {
|
||||
|
||||
/* 상품 총 갯수 */
|
||||
public int goodsGetTotal(Criteria cri);
|
||||
|
||||
/* 국내 카테고리 리스트 */
|
||||
public List<CateVO> getCateCode1();
|
||||
|
||||
/* 외국 카테고리 리스트 */
|
||||
public List<CateVO> getCateCode2();
|
||||
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.vam.mapper.AttachMapper;
|
||||
import com.vam.mapper.BookMapper;
|
||||
import com.vam.model.AttachImageVO;
|
||||
import com.vam.model.BookVO;
|
||||
import com.vam.model.CateVO;
|
||||
import com.vam.model.Criteria;
|
||||
|
||||
import lombok.extern.log4j.Log4j;
|
||||
@@ -72,4 +73,22 @@ public class BookServiceImpl implements BookService{
|
||||
|
||||
}
|
||||
|
||||
/* 국내 카테고리 리스트 */
|
||||
@Override
|
||||
public List<CateVO> getCateCode1() {
|
||||
|
||||
log.info("getCateCode1().........");
|
||||
|
||||
return bookMapper.getCateCode1();
|
||||
}
|
||||
|
||||
/* 외국 카테고리 리스트 */
|
||||
@Override
|
||||
public List<CateVO> getCateCode2() {
|
||||
|
||||
log.info("getCateCode2().........");
|
||||
|
||||
return bookMapper.getCateCode2();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -59,6 +59,23 @@
|
||||
|
||||
select authorid from vam_author where authorname like concat ('%', #{keyword}, '%')
|
||||
|
||||
</select>
|
||||
</select>
|
||||
|
||||
<!-- 국내 카테고리 리스트 -->
|
||||
<select id="getCateCode1" resultType="com.vam.model.CateVO">
|
||||
|
||||
<![CDATA[
|
||||
select * from vam_bcate where cateCode > 100000 and cateCode < 200000
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 외국 카테고리 리스트 -->
|
||||
<select id="getCateCode2" resultType="com.vam.model.CateVO">
|
||||
|
||||
<![CDATA[
|
||||
select * from vam_bcate where cateCode > 200000 and cateCode < 300000
|
||||
]]>
|
||||
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -92,13 +92,9 @@
|
||||
<i class="fa fa-caret-down"></i>
|
||||
</button>
|
||||
<div class="dropdown-content">
|
||||
<a href="/search?type=C&cateCode=202001">교양</a>
|
||||
<a href="#">테스트1</a>
|
||||
<a href="#">테스트2</a>
|
||||
<a href="#">테스트3</a>
|
||||
<a href="#">테스트4</a>
|
||||
<a href="#">테스트5</a>
|
||||
<a href="#">테스트6</a>
|
||||
<c:forEach items="${cate1}" var="cate">
|
||||
<a href="search?type=C&cateCode=${cate.cateCode}">${cate.cateName}</a>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dropdown">
|
||||
@@ -106,12 +102,9 @@
|
||||
<i class="fa fa-caret-down"></i>
|
||||
</button>
|
||||
<div class="dropdown-content">
|
||||
<a href="#">테스트1</a>
|
||||
<a href="#">테스트2</a>
|
||||
<a href="#">테스트3</a>
|
||||
<a href="#">테스트4</a>
|
||||
<a href="#">테스트5</a>
|
||||
<a href="#">테스트6</a>
|
||||
<c:forEach items="${cate2}" var="cate">
|
||||
<a href="search?type=C&cateCode=${cate.cateCode}">${cate.cateName}</a>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -59,6 +59,23 @@
|
||||
|
||||
select authorid from vam_author where authorname like concat ('%', #{keyword}, '%')
|
||||
|
||||
</select>
|
||||
</select>
|
||||
|
||||
<!-- 국내 카테고리 리스트 -->
|
||||
<select id="getCateCode1" resultType="com.vam.model.CateVO">
|
||||
|
||||
<![CDATA[
|
||||
select * from vam_bcate where cateCode > 100000 and cateCode < 200000
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 외국 카테고리 리스트 -->
|
||||
<select id="getCateCode2" resultType="com.vam.model.CateVO">
|
||||
|
||||
<![CDATA[
|
||||
select * from vam_bcate where cateCode > 200000 and cateCode < 300000
|
||||
]]>
|
||||
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user