Spring
12.16.(금) Spring Framework(31): 자료실 기능(5)
콜라든포비
2022. 12. 18. 22:46
글 보기
url생성은 이미 자료실 목록을 만들때 완성했다.
컨트롤러 매핑을 하자.
컨트롤러 매핑, 모델&뷰
// 글 보기
@GetMapping("/data/dataView")
public ModelAndView dataView(int postno) {
ModelAndView mav = new ModelAndView();
mav.addObject("vo", service.dataView(postno));
mav.setViewName("data/dataView");
return mav;
}
Service
package com.poby.myapp.service;
import java.util.List;
import javax.inject.Inject;
import org.springframework.stereotype.Service;
import com.poby.myapp.dao.DataDAO;
import com.poby.myapp.vo.DataVO;
@Service
public class DataServiceImpl implements DataService {
@Inject
DataDAO dao;
@Override
public int dataPostOk(DataVO vo) {
return dao.dataPostOk(vo);
}
@Override
public List<DataVO> dataList() {
return dao.dataList();
}
@Override
public DataVO dataView(int postno) {
return dao.dataView(postno);
}
}
쿼리문 생성
<select id="dataView" resultType="com.poby.myapp.vo.DataVO">
SELECT postno, subject, username, content, hitcount, regdate, filename1, filename2
FROM data_tbl WHERE postno=${param1}
</select>
뷰페이지
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!-- attribute : vo -->
<title>${ vo.subject }</title>
<div class="container">
<h1>글 보기</h1>
<ul>
<li>글 번호</li>
<li>${ vo.postno }</li>
<li>작성자</li>
<li>${ vo.username }</li>
<li>등록일</li>
<li>${ vo.regdate }</li>
<li>조회수</li>
<li>${ vo.hitcount }</li>
<li>제목</li>
<li>${ vo.subject }</li>
<li>내용</li>
<li>${ vo.content }</li>
<li>첨부파일</li>
<li>
<a href="/myapp/upload/${ vo.filename1 }" download>${ vo.filename1 }</a><br>
<c:if test="${ vo.filename2!=null && vo.filename2!='' }">
<a href="/myapp/upload/${ vo.filename2 }" download>${ vo.filename2 }</a>
</c:if>
</li>
</ul>
<div>
<a href="/myapp/data/dataEdit?postno=${ vo.postno }">수정</a>
<a href="/myapp/data/dataDel">삭제</a>
</div>
</div>