7월12일
1.목록화면 처리
list.jsp에서 화면 처리함
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@include file="../includes/header.jsp"%>
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Tables</h1>
</div>
<!-- /.col-lg-12 -->
</div>
<!-- /.row -->
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">
DataTables Advanced Tables
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<table width="100%" class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>bno</th>
<th>Title</th>
<th>Writer</th>
<th>RegDate</th>
<th>UpdateDate</th>
</tr>
</thead>
<tbody>
<c:forEach items="${list}" var="board">
<tr class="odd gradeX">
<td>${board.bno}</td>
<td>${board.title}</td>
<td>${board.writer}</td>
<td><fmt:formatDate pattern="yyyy-MM-dd" value="${board.regdate}"/></td>
<td><fmt:formatDate pattern="yyyy-MM-dd" value="${board.updatedate}"/></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.col-lg-12 -->
</div>
<!-- /.row -->
<%@include file="../includes/footer.jsp"%>
2.등록화면 처리
get방식으로 게시물 등록화면을 제공하고,
post방식으로 실제 게시물을 등록하고 처리한다.
이후 list.jsp로 이동
(1)BoardController 에 get방식으로 등록화면으로 갈수있게 url을 추가해 줘야함
사용자가 입력할수 있는곳으로 이동하는건 get방식 이다!!!
@GetMapping("/register")
public void registerGET() {}
(2)get방식 으로 register.jsp파일을 찾아가게 되고,
아래 register.jsp 의 화면
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@include file="../includes/header.jsp"%>
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Board Register</h1>
</div>
<!-- /.col-lg-12 -->
</div>
<!-- /.row -->
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">
Board Register
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<form role="form" action="/board/register" method="post">
<div class="form-group" name="title">
<label>title</label>
<input class="form-control" name="title">
</div>
<div class="form-group" name="content">
<label>content</label>
<textarea rows="5" cols="50" name="content" class="form-control"></textarea>
</div>
<div class="form-group" name="writer">
<label>writer</label>
<input class="form-control" name="writer">
</div>
<button type="submit" class="btn btn-default">Submit Button</button>
<button type="reset" class="btn btn-default">Reset Button</button>
</form>
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.col-lg-12 -->
</div>
<!-- /.row -->
<%@include file="../includes/footer.jsp"%>
(3)위에 register.jsp 로 들어가 입력하고 submit을 누르게 되면,
post형식의 register.jsp로 들어가서 처리하고 이동함

package com.keduit.controller;
@Controller //스프링의 Controller빈으로 인식할수 있게함.
@RequiredArgsConstructor //해당 어노테이션은 final로 선언한 변수를 찾아서 주입해줌
@RequestMapping("/board/*")
@Log4j
//아래 모든코드가 테스트코드까지 성공했으면, service에서 Controller 까지 넘어가는 거는 문제없다는게 유추됨
public class BoardController {
private final BoardService service;
@GetMapping("/register")
public void registerGET() {
}
@PostMapping("/register")
public String register(BoardVO board, RedirectAttributes rttr) {//redirect를 쓸거라 RedirectAttributes 파라미터를 넣어줌
log.info("register..........");
log.info("board====>"+board);
Long bno=service.selectInsertKey(board);
log.info("bno:"+bno);
//list 페이지로 이동할때 데이터를 전달해주고 싶을때 addFlashAttribute와 addAttribute가 있음
//addFlashAttribute는 일회용으로 한번쓰고 없어짐,
//addAttribute는 링크랑 연결이 되어 return "/redirect:/board/list" 이부분에 따라붙어서 같이감
rttr.addFlashAttribute("result",bno);
return "redirect:/board/list";
}
}