상세 컨텐츠

본문 제목

MVC Model2 게시판 (CRUD) - 목록생성 (목록 기능 구현)

web/게시판 CRUD(생성,수정,삭제, 읽기) - MVC2

by 매일매일 배우는 개발자 2021. 1. 18. 13:52

본문

728x90

이번 포스팅에서는 저번에 DB에 게시글을 입력했던 데이터를 가져오도록 해보겠습니다.

게시판 목록 기능구현이라고 할수있습니다.

 

먼저 View페이지를 만들어 보겠습니다.

 

list.jsp

 

<h1>여기는 LIST 페이지 입니다.</h1>
<form action="${contextPath }/tistory/tistory/listArticle.do" method="post" >				
		<div><h2>?(나중에 총 갯수)</h2>개의 상품이 조회되었습니다</div>		
	<table>	
		<tr>
			<td>번호</td>
			<td>이름</td>
			<td>아이디</td>
		</tr>		
			<c:forEach var="tistoryList" items="${tistoryList}">			
			<tr>
				<td>${tistoryList.no }</td>
				<td>${tistoryList.username }</td>
				<td>${tistoryList.id }</td>		
			</tr>
			</c:forEach>
	</table>			
</form>

DB에 있는 값을 불러오는방법은 JSTL과 스크릿틀릿(<%%>)으로 표현할수 있다.

여기서는 JSTL방법으로 표현해 보았다.

 

tistoryList가 request에 arrayList배열로 저장되어 있으므로 forEach문을 통해 꺼내어 올수 있다.

 

TistoryController.java

if(action.equals("/listArticle.do")) {		
			
			List<TistoryVO> tistoryList = tistoryService.ArticleList();		
			
			request.setAttribute("tistoryList", tistoryList); //tistoryList를 request영역에 저장
			System.out.println(tistoryList);
			nextPage="/list/list.jsp";			
			
		}

tistoryList를 request영역에  세팅한후 "tistoryList"키로 다른곳에서 꺼내어 올수 있도록 바인딩 하였다.

 

 

TistoryService.java

public List<TistoryVO> ArticleList() {
		
		List<TistoryVO> articleList = tistoryDAO.selectAllArticle();		
		System.out.println(articleList);
		return articleList;	
				
	}

TistoryDAO.java

public List<TistoryVO> selectAllArticle(){
		List<TistoryVO> articleList = new ArrayList<TistoryVO>();
		System.out.println(articleList);
		try {
			conn = DBConnection.getConnection();
			String query = "SELECT * FROM class ORDER BY no DESC";
			pstmt = conn.prepareStatement(query);
			
			rs = pstmt.executeQuery();
			
			while(rs.next()) {
				TistoryVO tistoryVO = new TistoryVO();
				
				tistoryVO.setNo(rs.getInt("no"));
				tistoryVO.setUsername(rs.getString("username"));
				tistoryVO.setId(rs.getString("id"));
				
				articleList.add(tistoryVO);
				
				System.out.println(articleList);
				
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			freeResource();
		}
		
		return articleList;
	}//end of selectAllArticle;

 

no 컬럼으로 정렬되게 하였고, articleList에 VO객체를 담아 세팅하였다.

articleList는 List인터페이스에 담아 return하였으며, Tistoryservice.java에서 메소드를 불러 사용하게 하였다.

 

728x90

관련글 더보기