현재 기본 페이지는
index.jsp이다.
이름 변경으로 main.jsp로 변경함
board의 main.jsp와는 별개임
HomeController
package com.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class MainController {
@GetMapping("/main")
public String main() {
return "/main";
}
}
테스트하기
모든 요청은 컨트롤러로 받아야하므로
MainController 생성해서 메인으로 보내줘야함
위의 메뉴가 안뜸
인터셉터 설정 수정이 필요함
<!--인터셉터 설정 -->
<interceptors>
<interceptor>
<mapping path="/main" />
<mapping path="/board/*" />
<mapping path="/user/*" />
<beans:ref bean="MenuInterceptor" />
</interceptor>
MainService 생성
package com.demo.service;
import java.util.List;
import org.apache.ibatis.session.RowBounds;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.demo.dao.BoardDAO;
import com.demo.domain.ContentVO;
@Service
public class MainService {
@Autowired
private BoardDAO boardDAO;
// 각 메뉴별로 최근 게시글 5개 가져오기
public List<ContentVO> getMainList(int info_idx){
RowBounds rowBounds = new RowBounds(0,5);
return boardDAO.getContentList(info_idx, rowBounds);
}
}
MainController
package com.demo.controller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import com.demo.domain.ContentVO;
import com.demo.service.MainService;
@Controller
public class MainController {
@Autowired
private MainService mainService;
@GetMapping("/main")
public String main(Model model) {
ArrayList<List<ContentVO>> list = new ArrayList<List<ContentVO>>();
list.add(mainService.getMainList(1)); //1번 게시판 (자유게시판)
list.add(mainService.getMainList(2)); //2번 게시판 (유며게시판)
list.add(mainService.getMainList(3)); //3번 게시판 (정치게시판)
list.add(mainService.getMainList(4)); //4번 게시판 (스포츠게시판)
model.addAttribute("list", list);
return "/main";
}
}
리스트가 많다면 반복문 사용가능함
main.jsp
자유게시판 한 개만 빼고 다 삭제 후 반복문으로 처리
<!-- 게시판 미리보기 부분 -->
<div class="container" style="margin-top: 100px">
<div class="row">
<!-- 반복문 -->
<c:forEach var="sub_list" items="${list }" varStatus="idx">
<div class="col-lg-6" style="margin-top: 20px">
<div class="card shadow">
<div class="card-body">
<h4 class="card-title">자유게시판</h4>
<table class="table table-hover" id="board_list">
<thead>
<tr>
<th class="text-center w-25">글번호</th>
<th>제목</th>
<th class="text-center w-25 d-none d-xl-table-cell">작성날짜</th>
</tr>
</thead>
<tbody>
<tr>
<td class="text-center">5</td>
<th><a href="${root}/board/read">제목입니다</a></th>
<td class="text-center d-none d-xl-table-cell">2018-12-12</td>
</tr>
<tr>
<td class="text-center">5</td>
<th><a href="board_read.html">제목입니다</a></th>
<td class="text-center d-none d-xl-table-cell">2018-12-12</td>
</tr>
<tr>
<td class="text-center">5</td>
<th><a href="board_read.html">제목입니다</a></th>
<td class="text-center d-none d-xl-table-cell">2018-12-12</td>
</tr>
<tr>
<td class="text-center">5</td>
<th><a href="board_read.html">제목입니다</a></th>
<td class="text-center d-none d-xl-table-cell">2018-12-12</td>
</tr>
<tr>
<td class="text-center">5</td>
<th><a href="board_read.html">제목입니다</a></th>
<td class="text-center d-none d-xl-table-cell">2018-12-12</td>
</tr>
</tbody>
</table>
<a href="${root}/board/main" class="btn btn-primary">더보기</a>
</div>
</div>
</div>
</c:forEach>
테스트하기 (자유게시판 4개 출력)
메뉴 제목 변경
<h4 class="card-title">${topMenuList[idx.index].board_name}</h4>
그리고 <tbody> 안에 <tr>하나만 남겨두고 다 삭제
<tr>하나를 반복문으로 바꿈
<tr>
<td class="text-center">${obj.board_idx}</td>
<th><a href="${root}/board/read?info_idx=${topMenuList[idx.index].info_idx}&board_idx=${obj.board_idx}">${obj.title}</a></th>
<td class="text-center d-none d-xl-table-cell">${obj.regDate}</td>
</tr>
</c:forEach>
</tbody>
</table>
<a href="${root}/board/main?info_idx=${topMenuList[idx.index].info_idx}" class="btn btn-primary">더보기</a>
테스트하기
테스트하기
1. 메이페이지에 더보기 클릭
2. 메이페이지에 글 클릭
'BACKEND > Spring' 카테고리의 다른 글
게시판 만들기 2 - 페이지 네이션 구현 (0) | 2023.11.03 |
---|---|
게시판 만들기 2 - 게시글 삭제 처리 (0) | 2023.11.03 |
게시판 만들기 2 - 게시글 수정 처리 (0) | 2023.11.02 |
게시판 만들기 2 - 이미지 업로드 방법 변경 (0) | 2023.11.02 |
게시판 만들기 2 - 게시글은 글쓴이만 수정 가능하게 (0) | 2023.11.02 |