9/02/2019

스프링 게시판 만들기 #7-5. 메뉴 인클루드 (누락본)

#7. 게시물 수정 구현#8. 게시물 삭제 구현 사이에 nav를 추가하는 과정이 누락되어 추가합니다.

일반적으로 게시판에서는 항상 목록으로 이동하거나, 게시물을 바로 작성할 수 있는 메뉴가 항상 보이게 되어있습니다. 링크정도야 추가하면 되지만... 만약 게시판의 갯수가 여러개가 되어있는 상태에서, 메뉴를 수정하려면 게시판의 갯수만큼 작업해야하는 번거로움이 있습니다.

메뉴를 따로 파일로 만든 후 각 페이지마다 그 파일의 내용을 불러올 수 있게된다면, 메뉴를 수정할때 그 파일만 수정하면 모든 페이지에서도 같이 변경될 것입니다.

views 폴더를 마우스 우클릭한 후 New → Folder를 선택합니다.

views 폴더 하위에 include라는 폴더를 생성합니다.

새로 생성된 include 폴더를 우클릭한 후 New → Other 을 선택합니다.

수많은 항목이 나오는데, 상단에 jsp를 입력하면 곧바로 해당되는 항목만 나옵니다.

지금 필요한건 JSP 파일이기 때문에, JSP File을 선택하고 다음(Next) 버튼을 클릭합니다.

파일명은 nav.jsp 로 입력하고 완료(Finish) 버튼을 클릭합니다.

nav.jsp 파일이 생성되었습니다.

다른 코드는 쓸모없으니 지워버리고, 새로운 코드를 입력합니다. 이 코드는 오직 메뉴에 대한 코드만 있습니다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<ul> 
 <li>
  <a href="/board/list">글 목록</a> 
 </li>
 
 <li>
  <a href="/board/write">글 작성</a> 
 </li> 
</ul>

이렇게 생성한 jsp 파일을 다른 jsp파일의 중간에 넣어줄 수 있습니다.

<div id="nav">
 <%@ include file="../include/nav.jsp" %>
</div>

이렇게 include 를 이용하여 jsp파일을 넣어주는 방식으로 하면, 메뉴를 수정할 때 nav.jsp 파일 하나만 수정하면 되어서 편리합니다.

css가 없어서 그다지 좋은 모습은 아니지만, 상단에 메뉴가 추가되었습니다.

날짜 포멧을 변경하는 방식이 누락되어 추가합니다.

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

상단에 jstl 라이브러리중 fmt(포맷) 라이브러리를 임포트합니다.

<fmt:formatDate value="${list.regDate}" pattern="yyyy-MM-dd" />

${list.regDate} 를 yyyy-MM-dd 포멧으로 출력하도록 수정합니다.

게시물 수정
  1. 작성일에서 표현하는 방식이 yyyy-mm-dd로 어떻게하면 변경이 가능한가요?
    Wed Dec 16 01:30:16 KST 2020저는 이런식으로 표현되서 바꾸고 싶은데...

    답글삭제
    답글
    1. 안녕하세요? 방문해주셔서 감사합니다.

      쭉 훑어보니 아무래도 누락된것 같아서(...) 마지막에 추가했습니다.

      본문에선 jstl방식으로 처리했으나
      만약 js(자바스크립트)만 이용하여 다루신다면 js의 Date형식을 이용하시거나
      moment.js 라는 라이브러리를 이용하는 방법도 있습니다.

      삭제
  2. 익명8/21/2023

    선생님 감사합니다~~~~~~~~~~~~~~~~~~~~~~~~~

    답글삭제