-
[MVC게시판] 게시판 글보기Web (Spring ) 2016. 8. 18. 21:36
BoardController.java
/*
해당 게시글 고유번호(PK)를 가지고있어야 한다.
boardService.getBoard(map.getMap())
*/
123456789@RequestMapping(value="/board/view.do", method=RequestMethod.GET)public ModelAndView getView(CommandMap map){Map<String,Object> getBoard = boardService.getBoard(map.getMap());// System.out.println("GET BOARD:" + getBoard.toString());ModelAndView mv = new ModelAndView("/board/view");mv.addObject("map", getBoard);return mv;}BoardService.java
/*
map 담아줘야 하기 때문에 다음과 같이 선언
*/
12//게시글 조회Map<String, Object> getBoard(Map<String, Object> map);BoardServiceImpl.java
/*
dao 연결
*/
1234@Overridepublic Map<String, Object> getBoard(Map<String, Object> map) {return boardDAO.getBoard(map);}BoardDAO.java
/*
selectOne을 자세히 보아야한다. getBoard
게시물의 고유번호(PK)를 가져와야 하기에
mybatis 메소드인 selectOne을 가져온다.
*/
1234@SuppressWarnings("unchecked")public Map<String, Object> getBoard(Map<String, Object> map) {return (Map<String, Object>) selectOne("board.getBoard", map);}Board_SQL.xml
/*
parameterType="hashmap"
where 조건으로 BOARDNO(PK)
*/
12345678910<!-- 게시글 조회 --><select id="getBoard" parameterType="hashmap" resultType="hashmap">SELECT *FROMBOARDWHEREBOARDNO = #{BOARDNO}</select>list.jsp
12345<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %><%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %><%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %><%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>1234567891011121314151617<script type="text/javascript">function fn_write(){// window.name = "부모창 이름";window.name = "boardList";// window.open("자식창 이름", "불러올 자식 창의 닉네임", "팝업창 옵션");window.open('/board/write.do', '_blank', 'width=100px','height=100px');}function fn_getBoard(no){location.href = "/board/view.do?BOARDNO="+no;}</script>/*
상단에 taglib을 다음과 같이 설정한다.
JSTL
13번 라인 파라미터를 던져준다.
*/
123456789101112131415161718192021<c:if test="${!empty map }"><c:forEach var="b" items="${map }"><tr><td class="t-inactive">${b.BOARDNO }</td><td><a href="#" onclick="fn_getBoard(${b.BOARDNO});">${b.TITLE }</a></td><%-- <td><a href="/board/view.do?BOARDNO=${b.BOARDNO }">${b.TITLE }</a></td> --%><td>${b.WRITER }</td><td class="t-status t-scheduled"><fmt:formatDate pattern="yyyy-MM-dd" value="${b.REG_DATE }" /></td><td class="t-status t-draft">${b.HIT_CNT }</td></tr></c:forEach></c:if><!-- 게시물이 비었을 시에 --><c:if test="${empty map }"><tr><td colspan="20">현재 게시물이 존재하지 않습니다.</td></tr></c:if>/*
<c:forEach를 사용하여 리스트 출력
17번 라인 ${map }이 비었을 시에 다음과 같이 노출
5번 라인 해당 함수 내에서 get방식으로 pk고유번호 넘기기(${b.BOARDNO})
9번라인 date pattern 수정 "yyyy-MM-dd"
*/
Result
'Web (Spring )' 카테고리의 다른 글
네이버 스마트 에디터 연동 + SPRING MVC (11) 2016.08.18 팝업창에서 POST방식 (0) 2016.08.18 [MVC게시판] 게시판 글쓰기 (0) 2016.08.09 [MVC게시판] 게시판 목록 출력 (0) 2016.08.06 스프링 프레임워크 한글 Encoding (0) 2016.08.05