728x90
회사에서 화면 개발 하는 중에
Java에서 뽑은 list 객체를 js로 가지고 오고 싶었다.
List<RptScreBmkPVO> rptScreBmkList = drvnMonrService.selectRptScreBmkList(sessionUserId);
mav.addObject("rptScreBmkList", rptScreBmkList);
Jsp로 가져올 경우에는 jstl을 사용해서
<c:forEach var="list" items=${rptScreBmkList}>
${list.vcno}
</c:forEach>
이런식으로 가져올 수 있었는데,
js로 가져오려고 하니,
var test = ${rptScreBmkList}
이렇게 썼는데 안되는것이였다!!!
해결방법🌼🌼
애초에 자바단에서 list를 json으로 변환해서
Js에 뿌려줘야했던 것 이였다.
List<RptScreBmkPVO> rptScreBmkList = drvnMonrService.selectRptScreBmkList(sessionUserId);
ObjectMapper om = new ObjectMapper();
//List를 Json으로 변환
om.writeValueAsString(rptScreBmkList);
//보기좋게 출력
//om.writeWithDefaultPrettyPrinter().writeValueAsString(rptScreBmkList);
mav.addObject("rptScreBmkList", om.writeValueAsString(rptScreBmkList));
그렇다면, js에서 list형태를 가진 string을
Java단에 넘겨서
그 String을 List로 변환하는 방법은?
(회사에서 chart를 그리는데 (chartjs 사용)
siteSqno를 string으로 심어놔서
(실제로는 list형태..)
그 막대그래프를 클릭했을 때, 심어놓은 siteSqno를
다시 java단으로 넘겨야 했었던 상황)
의문점 ?차트에 심어놓을 때, 리스트로 심으면 안되나?
리스트로 심고 자바단으로 리스트객체를 넘기면?
어쨌든..
해결방법🌼🌼
params.add("sqnoList", JSON.stringify(sqnoList));
String으로 넘겨받은 List 를 Java에서 List로 바꿔서 사용하는 방법
@RequestParam String siteList를 넘겨받고
ObjectMapper om = new ObjectMapper();
List<Long> siteSqnoList = om.readValue(siteList, om.getTypeFactory().constructCollectionType(List.class, Long.class));
//mybatis mapper param객체에 담아서 쿼리파람에 사용
pvo.setSiteSqnoList(siteSqnoList);
)
'JAVA' 카테고리의 다른 글
ObjectMapper사용하여 json을 vo에 담기 (1) | 2023.11.06 |
---|---|
[java] 비동기식 스레드 개념, 상태, 그룹, 테스트 코드- 개발자 배찌 (0) | 2022.12.16 |
[java] @RequestParam, required, defaultValue, @ModelAttribute - 개발자 배찌 (0) | 2022.11.01 |
[Java] @ResponseBody, @RestController, @Controller - 개발자 배찌 (0) | 2022.11.01 |
[Java] 핸들러(Handler), 핸들러맵핑(Handler Mapping), 핸들러어댑터(Handler Adapter) - 개발자 배찌 (0) | 2022.10.25 |