안녕하세요. 현재 앱의 메뉴부분은 다 하드코딩으로 해놓았습니다만..
이걸 메뉴 테이블에서 데이터를 받아와(json으로) 처리해야 하는데요..
어느부분까지 동적으로 선언해야 되는지 감이 안잡혀서 질문 드립니다..
우선 기본 컨셉은 웹페이지에서 메뉴를 등록,수정,삭제 시킬 수 있으며 대메뉴는 9개까지 생성 가능하고
중메뉴, 소메뉴..기타 하위 메뉴는 제한이 없도록 하였습니다.
ArrayList<HashMap<String, String>> result100List = new ArrayList<HashMap<String, String>>();
이런식으로 result900List까지 선언해놓고..
// 메뉴 값
HashMap<String, String> resultItem = new HashMap<String, String>();
resultItem.put("moblPrgId", moblPrgId);
resultItem.put("moblPrgNm", moblPrgNm);
resultItem.put("scrnNm", scrnNm);
resultItem.put("scrnExpl", scrnExpl);
resultItem.put("useYn", useYn);
// 대메뉴 구분
if(Integer.parseInt(chkOne) >= 100 && Integer.parseInt(chkOne) < 200) {
result100List.add(resultItem);
} eise if(Integer.parseInt(chkOne) >= 200 && Integer.parseInt(chkOne) < 300) {
result200List.add(resultItem);
} ....
이런식으로 for문 돌린 값을 비교하여 선언한 리스트에 해시맵을 담았습니다..
각각 선언한 리스트를 다시 해시맵을 만들어서 값을 가져와야 되는데
이때 대메뉴는 문제 없지만 그 하위메뉴 가져오는데에서 어떻게 처리해줘야 되는지를 모르겠습니다..
HashMap<String, String> hash1 = (HashMap<String, String>)result100List.get(0);
HashMap<String, String> hash2 = (HashMap<String, String>)result200List.get(0);
.... 3~9
이런식으로 대메뉴의 처음 해시맵을 받아와
String hashNm1 = hash1.get("scrnNm");
String hashNm2 = hash2.get("scrnNm");
...3~9
이렇게 대메뉴 값을 받아오는데 이게 뭐하는가 생각이드네요.......
대메뉴값 카운팅은 가능해서
HashMap<String, String> topMenu = new HashMap<String, String>();
for (int i = 0; i < menuCount; i++){
topMenu.put("topMenu" + i, "??");
}
이런식으로 topMenu+i 동적으로 만들순있는데 그 뒤도 참 애매합니다..
질문이 제가 봐도 이상해서 죄송합니다..
간단하게 설명드리자면 josn형식의 메뉴를 동적으로 구현해야 합니다.
json트리 구조는
[{"1":"1", "2":"1", "3":"1"}, {"1":"2", "2":"2", "3":"2"}, {"1":"3", "2":"3", "3":"3"}]
어떤식으로 구현해야 되는지 방향좀 알려주시면 감사감사하겠습니다............