728x90
반응형
SMALL
vo만들기 - Board 게시판 구조
1. BoardController에 List 추가
단, 이를 추가할려면 package필요
2. Board 클래스 생성
(1)src/main/java 폴더에 kr.smhrd.entity 패키지 생성
(2) entity 패키지에 Board.class파일 생성
타입을 정할 때, int보다는 long을 권장함
(3) 게시판에 작성할 번호, 제목, 내용, 작성자, 작성일, 조회수 생성
(4) Getter / Setter / toString 생성
마우스 오른쪽버튼 -> Source -> generate getter/setter
-> generate toString()
(5) default생성자
-> 만들어놓지 않으면 이후 작업시 에러 발생
<최종 Board.java 코드>
package kr.smhrd.entity;
import java.util.Date;
//게시판(Object) - > 번호, 제목, 내용, 작성자, 작성일, 조회수 ,,,,
public class Board {
private Long idx;
private String title;
private String content;
private String writer;
private Date indate; //Data -> Spring
private Long count;
public Board() {};
public Long getIdx() {
return idx;
}
public void setIdx(Long idx) {
this.idx = idx;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
public Date getIndate() {
return indate;
}
public void setIndate(Date indate) {
this.indate = indate;
}
public Long getCount() {
return count;
}
public void setCount(Long count) {
this.count = count;
}
//toString()
@Override
public String toString() {
return "Board [idx=" + idx + ", title=" + title + ", content=" + content + ", writer=" + writer + ", indate="
+ indate + ", count=" + count + "]";
}
}
!!!!!!!!!!!!!!!!!!!!! import 할 때, 꼭 sql 아니고 util 로 import 자동완성시키기 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3. BoardController 수정하기
(1) 기존에 만들어놓은 list메소드에서 객체바인딩하기
(2) list.add로 게시판 출력하기
<최종 BoardController.java 코드>
package kr.smhrd.controller;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.Date;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import kr.smhrd.entity.Board;
@Controller
public class BoardController { //POJO
//메서드
//리스트 요청(list.do)을 처리하는 메서드 만들기
@RequestMapping("/list.do")
public String list(HttpServletRequest request) {
//데이터베이스에서 게시판 리스트를 가져오기
List<Board> list = new ArrayList<Board>();
Board b = new Board();
b.setIdx(1L);
b.setTitle("스프링게시판");
b.setWriter("관리자");
b.setIndate(new Date());
b.setCount(0L);
list.add(b);
list.add(b);
list.add(b);
//객체바인딩(HttpServletRequest, HttpSession)
request.setAttribute("list", list); //list(번지) -> ArrayList
return "board/list"; //redirect, forward(JSP)
}
}
4. list.jsp 수정하기
- thead부분 foreach문으로 출력하기
< list.jsp 코드>
<%@page import="kr.smhrd.entity.Board"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
List<Board> list = (List<Board>)request.getAttribute("list");
%>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css">
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div class="container">
<h2>Spring MVC01</h2>
<div class="card">
<div class="card-header">BOARD</div>
<div class="card-body">
<table class = "table table-bordered table-hover">
<thead>
<th>번호</th>
<th>제목</th>
<th>작성자</th>
<th>작성일</th>
<th>조회수</th>
</thead>
<tbody>
<%for(Board vo : list){%>
<tr>
<td><%=vo.getIdx() %></td>
<td><%=vo.getTitle()%></td>
<td><%=vo.getWriter()%></td>
<td><%=vo.getIndate() %></td>
<td><%=vo.getCount() %></td>
</tr>
<% }%>
</tbody>
</table>
</div>
<div class="card-footer">AI.BigData 취업역량강화_조정은</div>
</div>
</div>
</body>
</html>
잘 나옵니댱
728x90
반응형
LIST