JSON 라이브러리 바로 사용하는건 맨 아래 사진 참고하기
공지사항 정보 목록에 공지사항 정보를 저장한다
=> 공지사항 정보 목록은 List 로 저장을 한다
post안이 아니라 밖에
public static List<NoticeInfo> noticeInfoList = new ArrayList<>();
클래스로 선언을 해서 추가할 경우 add
noticeInfoList.add(newNoticeInfo) 로 추가를 한다
=============
공지사항 목록이 있을 경우 json 구성해서 전달
isEmpty() 메서드는 값이 비어있을 경우 true 를 반환 한다
공지사항 목록에 저장된 공지사항이 있는 경우 json으로 구성해서 목록을 전달한다.
자바가 가지고 있는 공지사항 목록을 처음부터 하나씩 접근해야할때는
향상된 for문을 사용한다.
noticeWrite에 List를 저장해둬서 위에 사진처럼 for문을 쓰고
클라이언트에게 전달할 정보를 구성할때는 json 형식이고
가변적인 부분도 문자열로 표시, \" 으로 표시해서 좀 복잡해 보임
json 이 쉼표로 구분을 하므로 json = json + data + "," 으로 표현
하지만 json 에서 오류가 나와서 디버깅을 해보니
[{~~~},{~~~},{~~~},] 지금 마지막 오랜지색으로 표시한 곳에 쉼표가 있어서 json 오류가 나왔다
그래서 json에 마지막 쉼표를 때기 위해서 substring을 사용함
(시작부분, 마지막 끝 부분) 쉼표 하나 땔려면 위에 사진 처럼 구성하면 됨
페이지 번호가 1일때 0~4 (인덱스 숫자)
0 (페이지번호-1)*5
4 (페이지번호*5) -1
1페이지에 0~4 번 공지사항 인덱스 들을 출력하기 위해서 for문을 사용하고
클라이언트는 자바스크립트이니깐 json으로 전달 해야한다
json 을 문자열로 구성하는 이유는 json 자바스크립트 이여서 자바것이 아니여서 문자열로 구성을 한다
라이브러리를 사용하면 json 데이터가 생긴다 (자바에 )
https://github.com/stleary/JSON-java
여기 사이트에서 json 라이브러리 설치하기
JSONObejct / JSONArray 차이점이 있음
jsonobject {"",""} 이런식으로 문자열을 저장하고
jsonArray [ , , , ] 이렇게 저장된다 array.add() 값을 바로 넣으면 됨
중요!!!!!!!!! 내가 잘 모르는 부분
일단 출력의 형식은
{"공지사항의 전체수" : 20, "공지사항 목록": [공지사항정보1, 공지사항정보2, ....]}
이렇게 되어야함
한번에 캡쳐모습이 완성품은 아니라서 말로 설명함
맨 첫번째줄의 JSONArray noticeInfoList = new JSONArray(); // array 배열 공지사항 목록의 값을 저기에 넣을거임
for 문안에서 jsonObject noticeInfo = new JSONObejct(); // 이게 첫번째 안에 그림
noticeInfo.put("title", nth.getTitle());
noticeInfo.put("contents", nth.getContents());
noticeInfoList.put(noticeInfo); // 공지사항 정보 목록을 배열의 형태로 저장함 jsonarray 에 변수 선언함
for문이 끝이나고 JSONObejct object = new JSONObject(); -> 이게 큰 그림
object.put("amount", NoticeWrite.noticeInfoList.size()); List에 있는거 길이 알려면 size메서드 사용
obejct.put("list", noticeInfoList);
output.print(object); 로 출력하면됨!!!!
'코딩 > 서블릿' 카테고리의 다른 글
서블릿 공지사항 만들기 #2 (0) | 2022.05.25 |
---|---|
서블릿 프로젝트 공지사항 만들기 #1 (0) | 2022.05.25 |
서블릿 기초 응답정보와 요청정보 (0) | 2022.05.19 |
2022-05-18 서블릿 쿠키 세션 (0) | 2022.05.19 |
22-05-12 서블릿 환경설정 (0) | 2022.05.18 |