🤯TIL/Spring

[게시판 만들기 - 2 ] 게시판 목록

Dorothy_YANG 2022. 12. 5. 00:55
728x90

목 차

5. 게시판 목록
     - 작업1> Controller : 리스트 매핑주소 및 메서드 작업 
     - 작업2> Mapper interface와 Mapper XML작업 
                    - Mapper Interface : 메서드 작업
                    - Mapper XML : SQL 구문작업
     - 작업3> Service 작업 
                   -Service인터페이스 : 추상 메서드 작업
                   -Servicelmpl(구현) 클래스 : 메서드 구현 
     -작업4> Controller : Service의 메서드 호출
     -작업5> VIEW 처리 : list.jsp 파일 생성

 


작업1> Controller : 리스트 매핑주소 및 메서드 작업 


작업2> Mapper interface와 Mapper XML작업 

               - Mapper Interface : 메서드 작업
               - Mapper XML : SQL 구문작업


작업3> Service 작업 

               -Service인터페이스 : 추상 메서드 작업
               -Servicelmpl(구현) 클래스 : 메서드 구현 

     ✔ BoardVO 클래스 타입 반환
         : 하나의 행에 대한 정보만 얻을 경우 BoardVO 클래스 타입으로 반환 받으면 된다.

     ✔ List<BoardVO> 

         : 2개 이상의 행에 있는 정보를 반환받아야 할 경우 List 타입으로 반환받는다. (목록 페이지의 경우)


작업4> Controller : Service의 메서드 호출 

     ✔ (Model model) 파라미터
         : View에 데이터를 전송하기위해 Model 파라미터 추가

     ✔ addAttribute 메소드
         list.jsp 코드 중 <c:forEach items="${list }" var="board"> 로 값을 가져와야 하기 때문에 필요

 


작업5> VIEW 처리 : list.jsp 파일 생성

 

  • CSS 수정
<div class="row">
<div class="col-md-12">
    <div class="box box-primary">
    <div class="box-header with-border">
    <h3 class="box-title">리스트</h3>
    </div>

    <div class="box">
        <div class="box-header with-border">
            <h3 class="box-title">Bordered Table</h3>
        </div>

    <div class="box-body">
        <table class="table table-bordered">
            <tbody>
                <tr>
                <th style="width: 10%">bno</th>
                <th style="width: 30%">Title</th>
                <th style="width: 20%">Writer</th>
                <th style="width: 40%">Regdate</th>
                </tr>
            <c:forEach items="${list }" var="board">

                <tr>
                <td>${board.bno }</td>
                <td>
                    <a href="/board/get?bno=${board.bno }"><c:out value="${board.title }" /></a>
                </td>
                <td><c:out value="${board.writer }" /></td>
                <td>
                    <fmt:formatDate value="${board.regdate }" pattern="yyyy-MM-dd hh:mm"/>
                </td>
                </tr>
            </c:forEach>
            </tbody>
        </table>
    </div>

    <div class="box-footer clearfix">
        <ul class="pagination pagination-sm no-margin pull-right">
        <li><a href="#">«</a></li>
        <li><a href="#">1</a></li>
        <li><a href="#">2</a></li>
        <li><a href="#">3</a></li>
        <li><a href="#">»</a></li>
    </ul>
    </div>
</div>

    </div>
</div>
</div>

     ✔ <c:forEach items="${list }" var="board">
         : JSTL에서는 제일 흔하게 사용하는 <c:forEach>
         : 목록을 입력 받아서 목록의 갯수만큼 반복하는 반복문
         : controller에서 model에 addAttribute 값으로 넣어둔 list를 불러옴!!!

     ✔ <c:out value = "${board.writer}" />
         : JSP의 표현식을 대체하는 것으로 많이 사용됨

 

     ✔ <fmt:formatDate value = "${board.regdate}" pattern = "yyyy-MM-dd hh:mm"/>

         : fmt : 국제화

 

     📢 참고링크
           https://thefif19wlsvy.tistory.com/70

 

JSTL 문법 초!!간단 정리

설정 web.xml jstl-c /WEB-INF/tlds/jstl/c.tld jstl-fmt /WEB-INF/tlds/jstl/fmt.tld jstl-fn /WEB-INF/tlds/jstl/fn.tld jsp 에서 EL 생존범위 속성 맵 pageScope requestScope sessionScope applicationScope 요청 파라미터 맵 param paramValues 요청

thefif19wlsvy.tistory.com

 

 

*list.jsp 윗부분에 코드추가

**JSP 페이지 상단에 JSTL core 선언 필요

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

 

  ex) 실행화면

728x90