이제 마지막으로 남은 것은 수정입니다. 수정은 단순히 생각하면 문서 상세보기와
등록에 연속입니다. 그러니 어렵지 않게 구현할 수 있죠.
자 말보다 코드로 해볼까요?
//사용자가 입력한 문서 번호 가져오기
String userInputSeq = outputData[1];
//일치할경우 저장할 Map타입
Map<String, String> documentSave=null;
//검사
for(int indexI=0; indexI<documentList.size();indexI++){
Map<String, String>checkDocument = documentList.get(indexI);
if(userInputSeq.equals(checkDocument.get("SEQ"))){
documentSave = checkDocument;
break;
}
}
//null 경우 처리 하지 않음
if(documentSave!= null){
String tempSeq = documentSave.get("SEQ");
int seq = Integer.parseInt(tempSeq);
String title= documentSave.get("TITLE");
String content= documentSave.get("CONTENT");
String tempRegistDate = documentSave.get("REGIST_DATE");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss", Locale.KOREA);
Date registDate = dateFormat.parse(tempRegistDate);
String tempHit = documentSave.get("HIT");
int hit = Integer.parseInt(tempHit);
System.out.println("글번호 : " + seq);
System.out.println("제목 : " + title);
System.out.println("등록일 : " + registDate);
System.out.println("조회수 : " + hit);
System.out.println("내용 : " + content);
}
상세보기와 다른 점이 있다면 조회수가 올라가지 않는다는 점입니다. 보통 수정 할 때는
글을 작성한 사람이 수정하기 때문에 일단 조회수를 증가 시키지 않는 것으로 정하였습니다.
그럼 수정폼은 이걸로 끝이고 실제로 수정해볼까요?
//사용자가 입력한 문서 번호 가져오기
String userInputSeq = outputData[1];
//일치할경우 저장할 Map타입
Map<String, String> documentSave=null;
//검사
for(int indexI=0; indexI<documentList.size();indexI++){
Map<String, String>checkDocument = documentList.get(indexI);
if(userInputSeq.equals(checkDocument.get("SEQ"))){
documentSave = checkDocument;
break;
}
}
//null 경우 처리 하지 않음
if(documentSave!= null){
String userInputTitle = outputData[2];
String userInputContent = outputData[3];
documentSave.put("TITLE", userInputTitle);
documentSave.put("CONTENT", userInputContent);
Date systemDate = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss", Locale.KOREA);
String sysDate=dateFormat.format(systemDate);
documentSave.put("REGIST_DATE", sysDate);
System.out.println("수정완료 하였습니다");
}
}
별로 어렵지 않을 것입니다. 생각보다 쉽죠? 여기서 바뀐 것은 사용자가 다시 입력한 제목과 내용
그리고 날짜입니다. 수정한 날짜로 다시 입력해준 것밖에 없네요.
이제 다음 번에는 우리가 완성했던 것을 메소드로 옴 겨볼까요?
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
public class Board {
public static void main(String[] args) throws IOException, ParseException {
// 문서 등록 폼 Register Document Form
// 문서 등록 Register Document
// 문서 상세 보기 view Document
// 문서 목록 보기 view Document List
// 문서 삭제 Delete Document
// 문서 수정 폼 Edit Document Form
// 문서 수정 Edit Document
// 1. 사용법 출력
System.out.println("문서 등록 폼: ex) RF");
System.out.println("문서 등록: ex) RD:제목:내용 ");
System.out.println("문서 상세 보기: ex) VD:문서번호 ");
System.out.println("문서 목록 보기: ex) VL ");
System.out.println("문서 삭제: ex) DD:문서번호 ");
System.out.println("문서 수정폼: ex) EF:문서번호 ");
System.out.println("문서 수정: ex) ED:제목:내용 ");
// 저장되는 공간
List