-
[MVC게시판] 게시판 글 수정&삭제Web (Spring ) 2016. 8. 19. 21:23
BoardController.java
게시글 수정이라하면 해당 게시글의 고유번호(PK)를 가져와서
해당게시글의 고유번호를 식별한뒤 기존 data를 보여줘야 한다.
12345678910111213141516171819/*** @Method Name : openUpdJateView* @작성일 : 2016. 8. 6.* @작성자 : bin* @변경이력 :* @Method 설명 : 게시글 수정창 진입* @param map* @return*/@RequestMapping(value="/board/update.do", method=RequestMethod.GET)public ModelAndView openUpdJateView(CommandMap map){ModelAndView mv = new ModelAndView();System.out.println("into updatePage...");Map<String,Object> getBoard = boardService.getBoard(map.getMap());mv.addObject("map", getBoard);return mv;}GET방식으로 넘겨주며
view.do와 마찬가지로 getBoard 서비스를 불러온다.
getBoard라는 변수를 "map" 이라는 String 변수에 담아줘서
view에 보내준다.
이와 같이 view화면에 글 수정하기를
누르면 해당 게시글 번호를 가져와 수정창에 진입을 할 수 있을 것이다.
12345678910111213141516/*** @Method Name : updateView* @작성일 : 2016. 8. 6.* @작성자 : bin* @변경이력 :* @Method 설명 : 게시글 수정* @param map* @return*/@RequestMapping(value="/board/update.do", method=RequestMethod.POST)public ModelAndView updateView(CommandMap map){boardService.updateBoard(map.getMap());ModelAndView mv = new ModelAndView("redirect:/board/view.do?BOARDNO="+map.get("BOARDNO"));return mv;}수정창에 진입했으니 수정사항을 기재하고
updateBoard서비스를 실행하고
return은 전화면으로 돌아가야한다.
파라미터 역시 BOADRDNO(PK)를 가져간다.
12345678910111213141516171819202122232425262728293031323334353637<body><form name="form" method="post"><table align="center" width="600" cellpadding="3" cellspacing="0" border="0"><tr><td width="100">작성자</td><td><input type="text" name="WRITER" value="${map.WRITER }" size="25"></td></tr><tr><td>제목</td><td><input type="text" name="TITLE" value="${map.TITLE }" size="50"></td></tr><tr><td colspan="2"><script language="Javascript" src="/Spac_Editor/spac_editor_common.js"></script><script language="Javascript" src="/Spac_Editor/spac_editor.js"></script><link rel="stylesheet" type="text/css" href="/Spac_Editor/spac_editor_common.css"><link rel="stylesheet" type="text/css" href="/Spac_Editor/spac_editor.css"><script language="Javascript">createEditor('CONTENTS',300,'${map.CONTENTS}');</script></td></tr><tr><td>비밀번호</td><td><input type="password" name="PASSWORD" value="" size="12" maxlength="4"></td></tr></table><table align="center" width="600" cellpadding="3" cellspacing="0" border="0"><tr><td colspan="2" align="center"><input type="submit" value="작성완료"></td></tr></table></form></body>수정화면은 이런식으로 들어간다.
16번라인 form method는 post 방식으로 보낸다.
우리는 getBoard라는 변수를 "map'이라는 String에 담아 보냈다
value는 map에서 해당 bean 객체를 꺼내와서 보여준다.
29~33번 라인은 spac_editor 스크립트 소스이다.
너무 허전해보여서 에디터를 붙여놓은것 별 의미는 없다.
삭제도 마찬가지로
1234567891011121314151617/*** @Method Name : deleteView* @작성일 : 2016. 8. 6.* @작성자 : bin* @변경이력 :* @Method 설명 : 게시글 삭제* @param map* @return*/@RequestMapping(value="/board/delete.do", method = {RequestMethod.GET, RequestMethod.POST})public ModelAndView deleteView(CommandMap map){boardService.deleteBoard(map.getMap());System.out.println("boardDel...");ModelAndView mv = new ModelAndView("redirect:/board/list.do");return mv;}123456789101112131415<script>//글 삭제function fn_del() {if (confirm("정말 삭제하시겠습니까??") == true) { //확인location.href = "/board/delete.do?BOARDNO="+${map.BOARDNO};console.log('success');} else {console.log('fail');return false;}}</script>이런식으로 해당 파라미터를 가져와서 던져주고
return은 redirect:/board/list.do로 보내주면 된다.
BoardService.java
12345//게시글 수정void updateBoard(Map<String, Object> map);//게시글 삭제void deleteBoard(Map<String, Object> map);BoardServiceImpl.java
123456789@Overridepublic void updateBoard(Map<String, Object> map) {boardDAO.updateBoard(map);}@Overridepublic void deleteBoard(Map<String, Object> map) {boardDAO.deleteBoard(map);}BoardDAO.java
1234567public void updateBoard(Map<String, Object> map) {update("board.updateBoard", map);}public void deleteBoard(Map<String, Object> map) {update("board.deleteBoard", map);}Board_SQL.xml
123456789101112131415161718192021222324<!-- 게시글 수정 --><update id="updateBoard" parameterType="hashmap">UPDATE BOARDSETTITLE = #{TITLE},WRITER = #{WRITER},CONTENTS = #{CONTENTS},PASSWORD = #{PASSWORD}WHEREBOARDNO = #{BOARDNO}</update><!-- 게시글 삭제 --><update id="deleteBoard" parameterType="hashmap">UPDATE BOARDSETDEL_YN = 'y'WHEREBOARDNO = #{BOARDNO}</update>'Web (Spring )' 카테고리의 다른 글
JSON 정렬 (0) 2016.09.19 Ajax form.Serialize 안먹힐때 (0) 2016.09.02 [MSSQL] SPRING + MAVEN + MSSQL 연동방법 (0) 2016.08.19 네이버 스마트 에디터 연동 + SPRING MVC (11) 2016.08.18 팝업창에서 POST방식 (0) 2016.08.18