스프링을 모르는 사람들에게. CRUD 4
list는 화면에 뿌렸는데 게시글 상세보기가 없다. 바로간다.
- board/detail.jsp 생성한다.
detail.jsp 코드다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
</head>
<body>
<h2>Detail page</h2>
<table border="1">
<th> 정보 </th>
<th> 데이터 </th>
<tr>
<td>작성일자</td>
<td><fmt:formatDate value="${data.date}" pattern="yyyy-MM-dd" />
</td>
</tr>
<tr>
<td>글번호</td><td>${data.no}</td>
</tr>
<tr>
<td>이름</td><td>${data.name}</td>
</tr>
<tr>
<td>goal</td><td>${data.goal}</td>
</tr>
<tr><td>ID</td><td>${data.id}</td></tr>
</table>
</body>
</html>
BoardController.java에 detail.jsp 페이지로 이동을 위한 controller 코드를 추가해주자.
// 게시물 상세 페이지로 이동
@RequestMapping(value = "/detail", method = RequestMethod.GET)
public String getdetail() {
return "board/detail";
}
일단 이렇게 나온다.
list.jsp에서 코드 한줄을 추가해주자.
<td class="text_ct"><a href="${path}/board/detail?no=${list.no}">${list.name} </a></td>
mapper 작성하자.
<!-- 게시글 상세정보 -->
<select id="detail" resultType="com.board.domain.BoardVO">
select no, id, name, goal, date, time
from i_can_do_it1 where no = #{no}
</select>
DAO에도 detail 넣어주고
public BoardVO detail(int no); // 상세보기
DAOImpl에도 넣어주자.
@Override
public BoardVO detail(int no) {
return sql.selectOne(namespace + ".detail", no);
}
Service에도 넣어주고
public BoardVO detail(int no); // 상세보기
ServiceImpl에도 넣어준다.
@Override
public void create(BoardVO vo) {
dao.create(vo);
}
Service에서 데이터를 받고 model을 data라는 이름으로 데이터를 넘겨준다.
// 게시물 상세 페이지로 이동
@RequestMapping(value = "/detail", method = RequestMethod.GET)
public String getdetail(Model model, int no) {
BoardVO data = service.detail(no);//no값 넘김
model.addAttribute("data",data);
return "board/detail";
}
Leave a comment