var reviewList = '${rvlist}';
var positions = fn_javaListToJson(reviewList);
//json으로 변환
console.log("fn_javaListToJson : ",positions);
function fn_javaListToJson(obj){
var resultJson = [];
var str = obj.split('[{').join('').split('}]').join(''); //양끝 문자열 제거
var rows = str.split('}, {'); //str는 배열
for(var i = 0; rows.length > i; i++){ // rows 배열만큼 for돌림
var cols = rows[i].split(', ');
var rowData = {};
for(var j = 0; cols.length > j; j++){
var colData = cols[j];
colData = colData.trim();
var key = colData.substring(0, colData.indexOf("="));
var val = colData.substring(colData.indexOf("=") +1);
rowData[key] = val; }
resultJson.push(rowData);
}
return resultJson;
}
DB에서 꺼낼때 분명 5개의 각기다른 List<Map<String, Object>> 가 들어가있어야하는데...
계속해서 같은 데이터만 출력이 되었음.
아무리찾아봐도 문제가 없어보였는데 결국 자바코드에서 문제가 있었음.
List<ReviewVO> reviewlist = this.reviewService.getReviewList();
List<HashMap<String,Object>> rvlist = new ArrayList<HashMap<String,Object>>();
for(int i=0; i<reviewlist.size(); i++) {
HashMap<String,Object> rv = new HashMap<String,Object>();//이녀석 문제
rv.put("title",reviewlist.get(i).getRv_title());
rv.put("lat",reviewlist.get(i).getRv_lat());
rv.put("lng",reviewlist.get(i).getRv_lng());
rvlist.add(rv);
System.out.println(reviewlist.get(i).getRv_title()+"/"+reviewlist.get(i).getRv_lat()+"/"+reviewlist.get(i).getRv_lng());
}
mv.addObject("rvlist",rvlist);
return mv;
HashMap rv가 for문 밖에 선언되어져있어 새로운 HashMap을 List에 담지 못했다;;;
결국 똑같은 데이터만 주구장창 List에 담기고 있었음;;;
코드는 거짓말하지않아!!!!! 정신차리자.
'개발 > javscript' 카테고리의 다른 글
window.onload 를 사용하는 이유 (0) | 2021.03.18 |
---|---|
파라미터값 없애기 (0) | 2021.03.02 |
자바스크립트에서 get방식으로 페이지 이동시켜주기 (0) | 2021.03.02 |
자바스크립트에서 EL 사용하기 (0) | 2021.03.02 |
뒤로가기 + 새로고침 (3) | 2021.03.01 |