[전자정부표준프레임워크] 페이지 만들기(Map형태) #4
개발 환경
전자정부 표준프레임워크 3.7
JDK : OpenJDK 18(1.8)
DataBase : postgres 13.7( DBeaver 툴 사용)
Update 게시판
오늘은 Update 게시판을 만들 예정입니다. 게시글을 올리면 수정작업도 필요합니다. 오늘 제가 할 일은 수정작업입니다!
빨간 박스처럼 수정게시판을 꾸며봅니다!
<h3>update 수정게시판</h3>
<form action="http://localhost:8080/update.do?boardNum=${update.num}" name="boardUpdate" method="post">
<input type="hidden" value="${update.num}" name="num">
<h3>제목<input type="text" value="${update.title}" name="boardTitle"></h3>
<h3>아이디<input type="text" value="${update.userId}" name="userId"></h3>
<h3>닉네임<input type="text" value="${update.userName}" name="userName"></h3>
<h3>내용</h3>
<textarea name="boardContents" value="${update.contents}" cols="50" rows="13"></textarea>
<button type="submit">수정</button>
</form>
<Detail>
detail부분은 수정하기 위해 버튼을 제작할 예정입니다.
<input type="button" value="수정" onclick="location.href='/updatePage.do?boardNum=${detail.num}'"/>
<SQL>
아래 CAST로 되어서 주석처리한 부분은 형변환입니다. 가끔씩 형변환으로 오류가 생길 때 있어서 만약에 오류가 생긴다면, 아래 cast를 사용하여 형변환하여 주세여~
<update id="boardUpdate">
UPDATE post_board
SET title=#{boardTitle},
user_name=#{userName},
user_id=#{userId},
regi_date=now(),
contents=#{boardContents}
WHERE num=${num}
<!-- WHERE num=CAST(#{num} AS INTEGER) -->
</update>
< Mapper, Service>
Mapper와 Service는 같은 코드인거 잊지 마세요!
public int boardUpdate(Map<String, Object> boardNum);
<Service Implement>
Service Implement는 오류난 부분에 마우스 갖다대면 add라고 뜨는데 그걸 클릭하면 코드가 알아서 나오는거 잊지 마세여!
@Override
public int boardUpdate(Map<String, Object> boardNum) {
// TODO Auto-generated method stub
return mapper.boardUpdate(boardNum);
}
<Controller>
@RequestMapping(value = "updatePage.do", method=RequestMethod.GET)
public String updatePage(int boardNum, Model model){
List<Map<String, Object>> result = service.boardList(boardNum);
model.addAttribute("update", result.get(0));
return "updatePage";
}
@RequestMapping(value="/update.do", method=RequestMethod.POST)
public String update(@RequestParam() Map<String, Object> boardNum){
int result =service.boardUpdate(boardNum);
if(result == 1){ return "redirect:/list.do";
}
else return "updatePage";
}
결과 확인
< button 확인>
detail에서 추가한 수정button이 생겼습니다.
<수정 전>
위 detail을 수정해보았습니다.
안녕으로 변경한 후 수정을 눌렀습니다.
변경된 데이터를 확인하고 등록날짜도 오늘 날짜로 변경됐습니다!