ajaxatags 에서 controller 오류
- 작성자 :
- 문*덕
- 작성일 :
- 2014-12-05 09:56:19
- 조회수 :
- 739
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
egov-easycompany 예제를 보고 하였습니다. 예제의 컨트롤러 소스는
@RequestMapping("/suggestName.do")
protected ModelAndView suggestName(@RequestParam("searchName") String searchName){
ModelAndView model = new ModelAndView(new AjaxXmlView());
List<String> nameList = employeeService.getNameListForSuggest(searchName);
AjaxXmlBuilder ajaxXmlBuilder = new AjaxXmlBuilder();
for(String name:nameList){
ajaxXmlBuilder.addItem(name, name, false);
}
model.addObject("ajaxXml",ajaxXmlBuilder.toString());
return model;
}
입니다.
제가 작성한 코드는
@RequestMapping("autoSelectDept.do")
protected ModelAndView getDeptInfoforSelectTag(@RequestParam("lineId") String lineId) throws Exception{
TestSearchVO exceptBlockSearchVO = new TestSearchVO();
testSearchVO.testId(testId);
List<TestVO> list = testService.exceptBlocktList(testSearchVO);
ModelAndView model = new ModelAndView(new AjaxXmlView());
model.addObject("ajaxXml", (new AjaxXmlBuilder()).addItems(list, "testId", "testName", true).toString());
return model;
}
그런데 addItems 에서 빨간줄이 표시됩니다. 몇일전에는 정상적으로 컴파일 되어서
셀렉트박스 한개를 db에서 가져오는 게 되었는데 갑자기 저렇게 되어서 해결이 안되네요..
빨간줄로 표시되면서 나오는 내용은
The method addItems(Collection<? extends T>, AjaxXmlBuilder.PropertyProvider<T>) in the type AjaxXmlBuilder is not applicable for the
arguments (List<TestVO>, String, String, boolean)
입니다.
예제와 다른점이라고는 List 의 VO가 다르고 List 조회를 위한 파라미터가 저는 map이 아닌 VO로 했다는 것 뿐인데..
이유가 무엇일까요?
@RequestMapping("/suggestName.do")
protected ModelAndView suggestName(@RequestParam("searchName") String searchName){
ModelAndView model = new ModelAndView(new AjaxXmlView());
List<String> nameList = employeeService.getNameListForSuggest(searchName);
AjaxXmlBuilder ajaxXmlBuilder = new AjaxXmlBuilder();
for(String name:nameList){
ajaxXmlBuilder.addItem(name, name, false);
}
model.addObject("ajaxXml",ajaxXmlBuilder.toString());
return model;
}
입니다.
제가 작성한 코드는
@RequestMapping("autoSelectDept.do")
protected ModelAndView getDeptInfoforSelectTag(@RequestParam("lineId") String lineId) throws Exception{
TestSearchVO exceptBlockSearchVO = new TestSearchVO();
testSearchVO.testId(testId);
List<TestVO> list = testService.exceptBlocktList(testSearchVO);
ModelAndView model = new ModelAndView(new AjaxXmlView());
model.addObject("ajaxXml", (new AjaxXmlBuilder()).addItems(list, "testId", "testName", true).toString());
return model;
}
그런데 addItems 에서 빨간줄이 표시됩니다. 몇일전에는 정상적으로 컴파일 되어서
셀렉트박스 한개를 db에서 가져오는 게 되었는데 갑자기 저렇게 되어서 해결이 안되네요..
빨간줄로 표시되면서 나오는 내용은
The method addItems(Collection<? extends T>, AjaxXmlBuilder.PropertyProvider<T>) in the type AjaxXmlBuilder is not applicable for the
arguments (List<TestVO>, String, String, boolean)
입니다.
예제와 다른점이라고는 List 의 VO가 다르고 List 조회를 위한 파라미터가 저는 map이 아닌 VO로 했다는 것 뿐인데..
이유가 무엇일까요?
A
안녕하세요. 문종덕님.
AjaxXmlBuilder 상에 다음과 같은 메소드를 존재하는지 확인해 보시면 되실 것 같습니다.
public AjaxXmlBuilder addItems(Collection<?> collection,
String nameProperty, String valueProperty, boolean asCData)
throws Exception {
실제로 코드 자체는 1.5-beta-0.2 버전 기준으로 정상적이시고, 처음에는 컴파일 오류가 없으셨다면,
관련 library의 버전 등이 변경되신 경우 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.
AjaxXmlBuilder 상에 다음과 같은 메소드를 존재하는지 확인해 보시면 되실 것 같습니다.
public AjaxXmlBuilder addItems(Collection<?> collection,
String nameProperty, String valueProperty, boolean asCData)
throws Exception {
실제로 코드 자체는 1.5-beta-0.2 버전 기준으로 정상적이시고, 처음에는 컴파일 오류가 없으셨다면,
관련 library의 버전 등이 변경되신 경우 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.