src/main/java -> kr.smhrd.model -> class 파일 생성 (BoardVO.java)
package kr.smhrd.model;
public class BoardVO {
private int idx;
private String title;
private String writer;
private String indate;
public int getIdx() {
return idx;
}
public void setIdx(int idx) {
this.idx = idx;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
public String getIndate() {
return indate;
}
public void setIndate(String indate) {
this.indate = indate;
}
}
BoardController.java
package kr.smhrd.web;
import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import kr.smhrd.model.BoardVO;
@Controller
public class BoardController {
// 메소드 : public String 메소드명 ()
@RequestMapping("/basic.do")
public String basic(HttpServletRequest request) {
ArrayList<BoardVO> list = new ArrayList<BoardVO>();
// 게시판 글들을 불러와서 리턴
BoardVO vo1 = new BoardVO();
vo1.setIdx(1);
vo1.setWriter("김재우");
vo1.setTitle("게시판글1");
vo1.setIndate("2022.07.11");
BoardVO vo2 = new BoardVO();
vo2.setIdx(2);
vo2.setWriter("유재석");
vo2.setTitle("게시판글2");
vo2.setIndate("2022.07.11");
list.add(vo1);
list.add(vo2);
list.add(vo1);
list.add(vo2);
// forward방식으로 view에 접근
// : url이 안바뀌고 있기 때문에
// : 특정 값들을 넘겨주기 위해서는 request 담아서 넘겨주면 된다.
// : request객체가 필요하면 메소드의 매개변수로 request를 받겠다고 쓰면 된다!
// ----> Spring framework에서 알아서 관리!
// ★★★객체 바인딩
request.setAttribute("list", list);
return "basic";
}
}
basic.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<!-- bootstrap 사용하기 위해 필요한 라이브러리 3개! -->
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div class = "container">
<h2>게시판 만들기</h2>
<div class="panel panel-default">
<div class="panel-heading">SpringMVC 게시판</div>
<div class="panel-body">
<table class = "table table-bordered table-hover">
<tr>
<td>번호</td>
<td>제목</td>
<td>작성자</td>
<td>작성일</td>
</tr>
<%--
<c:forEach begin="0" end="3" step="1" var="i">
<tr>
<!-- EL 표현식 -->
<!-- : 객체바인딩 된 데이터를 바로 꺼내올 수 있다. -->
<td>${list.get(i).idx}</td>
<td>${list.get(i).title}</td>
<td>${list.get(i).writer}</td>
<td>${list.get(i).indate}</td>
</tr>
</c:forEach>
--%>
<c:forEach var = "vo" items="${list}">
<tr>
<!-- EL 표현식 -->
<!-- : 객체바인딩 된 데이터를 바로 꺼내올 수 있다. -->
<td>${vo.idx}</td>
<td>${vo.title}</td>
<td>${vo.writer}</td>
<td>${vo.indate}</td>
</tr>
</c:forEach>
</table>
</div>
</div>
</div>
</body>
</html>
'Java > Spring' 카테고리의 다른 글
[Spring] 게시판 목록(HikariCP) (0) | 2022.07.13 |
---|---|
[Spring] Database 연결흐름(HikariCP) (0) | 2022.07.13 |
[Spring] 스프링 시작하기(환경변수 설정) (0) | 2022.07.11 |
[Spring] 스프링 시작하기(설치) (0) | 2022.07.11 |
[Spring] 스프링 준비하기(JSTL) (0) | 2022.07.11 |