YSHUSH

게시판3. 상세 글 보기 + 최신글 역순 정렬 본문

Coding/SpringFramework

게시판3. 상세 글 보기 + 최신글 역순 정렬

코딩; 2022. 1. 28. 07:25

자바스크립트에서

<script type="text/javascript">
location.href = "bbslist.do"; -> GET
</script>

이렇게 이동하는 것은 무조건 GET방식으로 이동한다!

 

하지만 form형식으로 이동하는 것(자바스크립트)은

<form id="frm" action="regiAf.do" method="post">

method = "---" 에 적힌 방식으로 이동하기 때문에 주의해서 사용하도록 하자

 

 

1. BbsController 1차 업데이트

@RequestMapping(value = "bbsdetail.do", method = RequestMethod.GET)
	public String bbsdetail(int seq) {
		logger.info("BbsController bbsdetail() " + new Date());
		System.out.println("seq:" + seq);
		
		// DB -> BbsDto
		// 짐싸!
		
		return "bbsdetail";
	}

 

2. Bbs.xml

<select id="getBbs" parameterType="java.lang.Integer" resultType="mul.camp.a.dto.BbsDto">
	SELECT SEQ, ID, REF, STEP, DEPTH, TITLE, CONTENT, WDATE, DEL, READCOUNT
	FROM BBS
	WHERE SEQ=#{seq}
</select>

 

3. BbsDao, BbsDaoImpl

BbsDao

int writebbs(BbsDto dto);

BbsDaoImpl

@Override
public BbsDto getBbs(int seq) {		
    return session.selectOne(ns + "getBbs", seq);	// 여기서 seq는 Bbs.xml의 getBbs의 parameterType로 들어가는 것임
}

 

4. BbsService, BbsServiceImpl

BbsService

BbsDto getBbs(int seq);

BbsServiceImpl

@Override
public BbsDto getBbs(int seq) {		
    return dao.getBbs(seq);
}

 

5. BbsController 2차 업데이트

@RequestMapping(value = "bbsdetail.do", method = RequestMethod.GET)
public String bbsdetail(Model model, int seq) {
    logger.info("BbsController bbsdetail() " + new Date());
    System.out.println("seq:" + seq);

    // DB -> BbsDto
    BbsDto bbs = service.getBbs(seq);
    // 짐싸!
    model.addAttribute("bbs", bbs);

    return "bbsdetail";
}

 

6. views폴더에 bbsdetail.jsp만들고 형식 업데이트

<%
	BbsDto bbs = (BbsDto)request.getAttribute("bbs"); // 짐풀어
%>    
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>

<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>

</head>
<body>

<h1>상세글보기</h1>

<div align="center">

<table class="table table-bordered" style="width: 1000px">
<tr>
	<th>작성자</th>
	<td><%=bbs.getId() %></td>
</tr>

<tr>
	<th>제목</th>
	<td><%=bbs.getTitle() %></td>
</tr>

<tr>
	<th>작성일</th>
	<td><%=bbs.getWdate() %></td>
</tr>

<tr>
	<th>조회수</th>
	<td><%=bbs.getReadcount() %></td>
</tr>

<tr>
	<th>정보</th>
	<td><%=bbs.getRef() %>-<%=bbs.getStep() %>-<%=bbs.getDepth() %></td>
</tr>

<tr>
	<th>내용</th>
	<td align="center">
		<textarea rows="15" cols="100" readonly="readonly"><%=bbs.getContent() %></textarea>
	</td>
</tr>
</table>
</div>
</body>
</html>

 

최신글 역순정렬

Bbs.xml → bbslist부분 업데이트

<select id="bbslist" parameterType="mul.camp.a.dto.BbsParam" resultType="mul.camp.a.dto.BbsDto">
	SELECT SEQ, ID, REF, STEP, DEPTH, TITLE, CONTENT, WDATE, DEL, READCOUNT
	FROM BBS
	ORDER BY REF DESC, STEP ASC
</select>

'Coding > SpringFramework' 카테고리의 다른 글

게시판5. 답글 이미지 넣기 + depth 적용  (0) 2022.01.28
게시판4. 답글기능 만들기  (0) 2022.01.28
게시판2. 게시판 목록 & 글쓰기  (0) 2022.01.25
게시판1. 기본 빌드  (0) 2022.01.25
로그인  (0) 2022.01.24