차근차근 개발자 되기

JSP

66일차: JSP 자료실 게시판(글 목록, 상세 페이지, 글 수정)_ 2021.09.15

wellow 2021. 9. 15. 23:30

 

목차

1.     자료실 게시판: 글 목록

2.     자료실 게시판: 상세 페이지

3.     자료실 게시판: 글 수정

 

 

1. 자료실 게시판: 글 목록

 

- 일반 게시판의 페이징 처리와 마찬가지로, 기본 변수 3개와 기본 변수에서 파생된 6개의 변수를 이용해서 페이징 처리를 한다.

 

 

2. 자료실 게시판: 상세 페이지

 

- 상세 페이지에서는 첨부파일 이름 값을 출력하고 <a> 태그로 링크를 걸어 다운로드가 되도록 한다.

 

1
2
3
4
5
6
7
8
9
10
<tr>
    <td>첨부파일</td>
    <td colspan=3>
       <% if(board.getUpload() != null){ %>            
           <a href="file_down.jsp?file_name=<%=board.getUpload()%>">
           <%=board.getUpload() %>
           </a>                        
       <% } %>    
    </td>
</tr>
cs

 

 

3. 자료실 게시판: 글 수정

 

- 수정 폼에서는 상세 페이지에서 get 방식으로 넘겨준 ‘num’ 값과 ‘page’ 값을 request 객체로 받는다.

- DAO 객체 생성 후 특정 데이터를 구하는 메소드를 호출한다.

- 수정 폼에서 수정을 처리하는 페이지로 값을 넘겨주게 되는데, 값을 전달받은 페이지에서는 글 작성 때와 마찬가지로 MultipartRequest 객체를 생성해서 파일 업로드를 처리한다.

- 수정 폼에서 전달한 값은 생성한 MultipartRequest 객체로 받는다.

- 수정 폼에서 첨부파일을 수정하지 않는 경우, null 값이 되므로 if 조건문으로 상황을 나누어 처리한다.

 

1
2
3
4
5
6
7
8
9
// DAO 객체 생성
    BoardDBBean dao = BoardDBBean.getInstance();
    BoardDataBean old = dao.getContent(num);
    
    if(upload != null){             // 첨부파일을 수정한 경우
        board.setUpload(upload);        
    }else{                         // 첨부파일을 수정하지 않은 경우
        board.setUpload(old.getUpload());        
    }
cs