Spring

스프링 - JSP에서 DB에 저장된 값 불러오기

마루설아 2025. 5. 31. 14:57

지금까지 실습한 스프링 jsp 소스 중 일부

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

<table class="table table-striped table-bordered table-hover">
    <thead>
        <tr>
            <th>#번호</th>
            <th>제목</th>
            <th>작성자</th>
            <th>작성일</th>
            <th>수정일</th>
        </tr>
    </thead>
    <c:forEach items="${list}" var="board">
        <tr>
            <td><c:out value="${board.bno}" /></td>
            <td><c:out value="${board.title}" /></td>
            <td><c:out value="${board.writer}" /></td>
            <td><fmt:formatDate pattern="yyyy-MM-dd" value="${board.regdate}" /></td>
            <td><fmt:formatDate pattern="yyyy-MM-dd" value="${board.updateDate}" /></td>
        </tr>
    </c:forEach>
</table>

 

 

그리고 메인 컨트롤러 일부

@Controller
@Log4j
@RequestMapping("/board/*")
@AllArgsConstructor
public class BoardController {
	private BoardService service;
	
	@GetMapping("/list")
	public void list(Model model) {
		log.info("list");
		
		model.addAttribute("list", service.getList());
	}
    ...

 

 

프로세스 요약

1. /board/list 주소 호출 시 컨트롤러에서 'list'모델에 service.getList()에서 리턴된 결과를 담는다.

2. JSP에서 ${list}로 'list'모델에 저장된 값을 꺼낸다.

3. c:forEach 구문으로 list에 저장된 값의 배열을 순차적으로 반복 출력한다.

 

 

c:, fmt: 에 관련한 정보

우선 jsp파일의 상단에 있는 아래 선언을 보자.

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

 

이는 JSTL(JavaServer Pages Standard Tag Library), 즉 JSP에서 Java 코드를 작성하기 위한 라이브러리이다.

두 JSTL을 선언하면 여러 태그를 사용할 수 있다.

그 중 예제에서 사용된 태그 3가지에 대한 설명은 아래와 같다.

 

<c:forEach>

리스트, 배열같은 컬렉션을 반복해서 하나씩 처리할 떄 사용한다.

 

<c:out>

HTML에 데이터를 출력할 때 사용한다.

 

<fmt:formatDate>

날짜 데이터를 지정한 포맷으로 바꿔줄 때 사용한다.

 

 

결과 페이지