환경설정이 끝났다면 게시판 만들어보자
k-이클립스를쓸때 mysql5.6.21 startup해줘야됨
서버 start
부트스트랩 - BS Table 에서 가져오깅
${}
el태그 적어줘야됨, 글제목을 클릭하면 해당 게시글로 넘어가도록 a태그로 감싸주기 => 쿼리스트링으로 고유값인 ?idx=${vo.idx}
보내주자!<%@page import="java.util.ArrayList"%>
<%@page import="kr.smhrd.mapper.BoardVO"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
<title>게시판</title>
</head>
<body>
<div class="container">
<h2>Spring MVC Board</h2>
<div class="panel panel-default">
<div class="panel-heading">Board List</div>
<div class="panel-body">
<table class="table table-hover table-bordered">
<tr class="active">
<td>번호</td>
<td>제목</td>
<td>조회수</td>
<td>작성자</td>
<td>작성일</td>
</tr>
<c:forEach var="vo" items="${list}" varStatus="i">
<tr>
<td>${i.count}</td>
<td><a href="boardContents.do?idx=${vo.idx}">${vo.title}</a></td>
<td>${vo.count}</td>
<td>${vo.writer}</td>
<td>${vo.indate}</td>
</tr>
</c:forEach>
</table>
<a href="boardInsertForm.do"><button class="btn btn-warning btn-sm">글쓰기</button></a>
</div>
<div class="panel-body">지능형 IoT ㅇㅇㅇ</div>
</div>
</div>
</body>
</html>
@RequestMapping("/boardInsertForm.do")
public String boardInserForm() {
System.out.println("글쓰기 페이지 이동");
return "boardInsertForm";
}
<form class="form-horizontal" method="post" action="boardInsert.do">
<div class="form-group">
<label class="control-label col-sm-2" for="title">제목:</label>
<div class="col-sm-10">
<input type="text" name="title" class="form-control" id="title"
placeholder="Enter title">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="contents">내용:</label>
<div class="col-sm-10">
<textarea class="form-control" id="contents" name="contents" placeholder="Enter contents" rows="5" cols=""></textarea>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="writer">작성자:</label>
<div class="col-sm-10">
<input type="text" id="writer" name="writer" class="form-control" placeholder="Enter writer">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button class="btn btn-warning btn-sm" type="reset">취소</button>
<button class="btn btn-info btn-sm" type="submit">작성</button>
</div>
</div>
</form>
public void boardInsert(BoardVO vo);
인터페이스에 추가해줌!!! // web/boardInsert.do 요청시 실행 메소드
@RequestMapping("/boardInsert.do")
public String boardInsert(BoardVO vo) {
//매개변수로 vo를 쓸 때 주의할점 : 1.name값,2.필드명동일해야됨,3.기본생성자 있어야됨
System.out.println("글쓰기 기능 실행");
System.out.println(vo.toString());
mapper.boardInsert(vo);
return "redirect:/boardList.do"; --->게시글을 가지고 이동할 수 있어서 redirect로
}
파라미터로 받아오는 값 주의해서 적어줄것(필드명 동일하게)
resulttype 없음
public BoardVO boardContents(int idx);
return 타입 vo
--->객체바인딩 모델에 담아 contents.jsp로 보냄
파라미터타입, 리절트타입 주의
public void boardUpdate(BoardVO vo);
<a href="boardDelete.do?idx=${vo.idx}"><button type="button" class="btn btn-warning btn-sm">삭제</button></a>
폼태그 바로 위 삭제 버튼 수정!
버튼 타입은 버튼 !! 주의
a 태그 .do 주의!
public void boardDelete(int idx);