[Spring JPA ] - 글목록- 10

JEONG SUJIN·2022년 11월 26일
0

스프링부트 JPA

목록 보기
11/24
post-thumbnail

index.jsp부분에 게시판 목록리스트를 뿌려주기 위해

필요한 라이브러리
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

BoardController.java

페이지로 이동할 때 데이터를 가져가야 하기때문에 파라미터 값에 Model model 을 추가

model은 jsp에서 Request정보 라고 생각하면 된다.
model에다가 데이터를 담으면, 뷰까지 데이터를 가지고 이동한다.

그리고 boardService 주입시키고,
boardService.boardList()메서드를 뿌려줘야한다.

@Controller
public class BoardController {
	
	@Autowired
	BoardService boardService;
	
	@GetMapping({"","/"})
	//메인페이지로 갈때 데이터를 가져가야한다.
	public String index(Model model) {
		model.addAttribute("boards", boardService.boardList());
		return "index"; //viewResolver 작동
	}
	
	//USER권한 필요
	@GetMapping("/board/saveForm")
	public String saveForm() {
		return "board/saveForm";
	}
	
}

BoardService.java

boardList()메서드 생성하기 위해 Service 이동
List타입<Board>로 받고 findAll 리턴

findAll()은 JpaRepository가 들고 있는 메서드

 //글 목록리스트
	public List<Board> boardList() {	
		return boardRepository.findAll();// 전부가져와야하니까
	}

index.jsp

기존에 index.jsp에 있는 card-body부분 하나만 남겨 놓고 삭제하고
<c:forEach var="board" items="${boards}"></c:forEach> 로 감싸준다.

items="boards" 데이터는 컬렉션 데이터

index.jsp페이지로 데이터를 가지고 이동
데이터는 items="boards"에서 받아서, 받은 데이터를 한 건씩 var="board"라는 변수에 집어서 뿌릴수있다.

Request로 넘어올때 jsp에서 EL표기법으로 받을 수 있다.
board라는 객체가 title이라는 변수를 들고 있음 entity

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ include file="layout/header.jsp" %>

<div class="container">
 
 
 	<c:forEach var="board" items="${boards}">
		<div class="card">

			<div class="card-body">
				<h4 class="card-title">${board.title}</h4>
				<p class="card-text">${board.content}/p>
				<p class="card-text">${board.createDate}</p>
				<p class="card-text">${board.user.username }</p>
				<a href="#" class="btn btn-dark">상세보기</a>
			</div>
		</div>
	</c:forEach>

  
</div>
<%@ include file="layout/footer.jsp" %>  

내가 썼던 부분이 목록에 나오는걸 확인할 수 있다.!

profile
기록하기

0개의 댓글