Ajax 관련하여
- 작성자 :
- 강*범
- 작성일 :
- 2013-05-29 15:45:13
- 조회수 :
- 1,131
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
안녕하세요 Ajax 샘플을 참고하던중 몇가지 의문점이 있어서 이렇게 글을 남깁니다.
employees.jsp 파일 중
<tr>
<td>부서번호 : </td>
<td>
<form:select path="superdeptid">
<option value="">상위부서를 선택하세요.</option>
<form:options items="${deptInfoOneDepthCategory}" />
</form:select>
</td><td>
<form:select path="departmentid">
<option value="">근무부서를 선택하세요.</option>
<form:options items="${deptInfoTwoDepthCategory}" />
</form:select>
</td>
</tr>
내용중에 "${deptInfoTwoDepthCategory}" <- 이부분은 어떤 방식으로 데이터를 가지고 올 수 있는지 궁금하네요. 따로 참조하는 부분도 찾을 수없구요
그리고 개인적으로 샘플을 만들고 있는데
---------------------------------------------------------------------
@RequestMapping("/autoSelectRoadNo.do")
protected ModelAndView getRoadNoMenuSelectTag(@RequestParam("roadNo") String roadNo) throws Exception{
Map<String, String> param = new HashMap<String,String>();
param.put("roadNo",roadNo);
List<MapReportSearchVO> mapreportList = mapreportService.getMapReportList(param);
ModelAndView model = new ModelAndView(new AjaxXmlView());
try{
model.addObject("ajaxXml", (new AjaxXmlBuilder()).addItems(mapreportList,"roadNo","sect",true).toString());
System.out.println(model);
}catch(Exception e){
System.out.println("Ajax ERROR "+ e);
return model;
}
return model;
}
중 model.addObject("ajaxXml", (new AjaxXmlBuilder()).addItems(mapreportList,"roadNo","sect",true).toString());
이부분에서 다음과 같은 에러가 잡히네요 java.lang.NoSuchMethodException: egovframework.rte.psl.dataaccess.util.EgovMap.getRoadNo()
분명히 mapreportList 값은 [{roadNo=001, sect=01} , .... ] 이런식으로 출력되는데 에러가 잡혀서 문의드립니다.
employees.jsp 파일 중
<tr>
<td>부서번호 : </td>
<td>
<form:select path="superdeptid">
<option value="">상위부서를 선택하세요.</option>
<form:options items="${deptInfoOneDepthCategory}" />
</form:select>
</td><td>
<form:select path="departmentid">
<option value="">근무부서를 선택하세요.</option>
<form:options items="${deptInfoTwoDepthCategory}" />
</form:select>
</td>
</tr>
내용중에 "${deptInfoTwoDepthCategory}" <- 이부분은 어떤 방식으로 데이터를 가지고 올 수 있는지 궁금하네요. 따로 참조하는 부분도 찾을 수없구요
그리고 개인적으로 샘플을 만들고 있는데
---------------------------------------------------------------------
@RequestMapping("/autoSelectRoadNo.do")
protected ModelAndView getRoadNoMenuSelectTag(@RequestParam("roadNo") String roadNo) throws Exception{
Map<String, String> param = new HashMap<String,String>();
param.put("roadNo",roadNo);
List<MapReportSearchVO> mapreportList = mapreportService.getMapReportList(param);
ModelAndView model = new ModelAndView(new AjaxXmlView());
try{
model.addObject("ajaxXml", (new AjaxXmlBuilder()).addItems(mapreportList,"roadNo","sect",true).toString());
System.out.println(model);
}catch(Exception e){
System.out.println("Ajax ERROR "+ e);
return model;
}
return model;
}
중 model.addObject("ajaxXml", (new AjaxXmlBuilder()).addItems(mapreportList,"roadNo","sect",true).toString());
이부분에서 다음과 같은 에러가 잡히네요 java.lang.NoSuchMethodException: egovframework.rte.psl.dataaccess.util.EgovMap.getRoadNo()
분명히 mapreportList 값은 [{roadNo=001, sect=01} , .... ] 이런식으로 출력되는데 에러가 잡혀서 문의드립니다.
A
안녕하세요. 강준범님.
우선, ${deptInfoTwoDepthCategory}는 두번쨰 select이기 때문에 일반적으로 모델에서 데이터를 넘길 필요는 없습니다. (모델명에 해당되는 모델이 없으면 그냥 무시됨)
혹, 처음 초기 화면에 두번째 select에도 일정 데이터를 표시해야 하는 경우 Controller에서 deptInfoTwoDepthCategory 모델로 데이터를 넘기시면 됩니다.
두번째 부분은 아마도 MapReportSearchVO가 EgovMap을 확장하신 것 같습니다.
이 경우는 addItems 내부에서 어떻게 처리되는지 확인해야 하는데, 표시되는 오류가 단순히 DEBUG 성인지 아니면 오류로 처리가 되지 않는지 확인 부탁드립니다.
DEBUG성으로 메시지만 표시하는 경우는 내부에서 일반적인 VO로 getter를 호출해 보고 해당 getter가 없으면 Map 방식으로 정보를 가져오는 것으로 정상적인 메시지로 간주하시면 되실 것 같습니다.
두번째 처리가 되지 않는다면, MapReportSearchVO를 EgovMap(Map)기반이 아닌 VO 기반으로 변경하셔야 할 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.
우선, ${deptInfoTwoDepthCategory}는 두번쨰 select이기 때문에 일반적으로 모델에서 데이터를 넘길 필요는 없습니다. (모델명에 해당되는 모델이 없으면 그냥 무시됨)
혹, 처음 초기 화면에 두번째 select에도 일정 데이터를 표시해야 하는 경우 Controller에서 deptInfoTwoDepthCategory 모델로 데이터를 넘기시면 됩니다.
두번째 부분은 아마도 MapReportSearchVO가 EgovMap을 확장하신 것 같습니다.
이 경우는 addItems 내부에서 어떻게 처리되는지 확인해야 하는데, 표시되는 오류가 단순히 DEBUG 성인지 아니면 오류로 처리가 되지 않는지 확인 부탁드립니다.
DEBUG성으로 메시지만 표시하는 경우는 내부에서 일반적인 VO로 getter를 호출해 보고 해당 getter가 없으면 Map 방식으로 정보를 가져오는 것으로 정상적인 메시지로 간주하시면 되실 것 같습니다.
두번째 처리가 되지 않는다면, MapReportSearchVO를 EgovMap(Map)기반이 아닌 VO 기반으로 변경하셔야 할 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.