ajax로 목록을 조회할 시 ...
- 작성자 :
- 김*순
- 작성일 :
- 2009-11-25 11:06:11
- 조회수 :
- 4,713
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
안녕하세요?
수고가 많으십니다.
목록을 조회하는 ajax 입니다.
가이드도 참조하고, 샘플소스인 egovframework-common-1.0.0 도 참조해서
코딩을 했는데 여기까지네요. 해당 ajaxList 메소드는 콘트롤서에 있는 메소드입니다.
마지막에 ajaxXmlBuilder 를 찍어보면 xml로 구성은 됐습니다.
근데 실행하면 널포인트가 나네요.
화면에 바인딩하는 방법이 남은 거 같은데요. 어찌해야 하나요.
그리고 페이징은 어찌해야 하나요? 질문글을 검색해 보니 페이징은 ajax를 지원하지않는다고 하던데 그럼 목록과 페이징을 처리하는 방법을 알고 싶습니다.
// 목록을 조회하는 ajax
public String ajaxList (@RequestParam("arg") String arg )
{
ModelAndView model = new ModelAndView(new AjaxXmlView()); <-- AjaxXmlView 아래 클래스
AjaxXmlBuilder ajaxXmlBuilder = new AjaxXmlBuilder();
for(EgovMap resultMap:resultList){
for(int i=0;i<resultMap.size();i++){
ajaxXmlBuilder.addItem(String.valueOf(resultMap.get(i)), String.valueOf(resultMap.get(resultMap.get(i))), false);
}
}
return "/ufac/sensor/air/UbiUServiceUFacSensorAirSensingTypeList";
}
public class AjaxXmlView extends AbstractView {
@Override
protected void renderMergedOutputModel(Map model,
HttpServletRequest request, HttpServletResponse response)
throws Exception
{
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
response.setCharacterEncoding("UTF-8");
PrintWriter writer = response.getWriter();
writer.write((String) model.get("ajaxXml")); //Model Attribute 이름은 공통으로 사용하는 것으로...
writer.close();
}
}
수고가 많으십니다.
목록을 조회하는 ajax 입니다.
가이드도 참조하고, 샘플소스인 egovframework-common-1.0.0 도 참조해서
코딩을 했는데 여기까지네요. 해당 ajaxList 메소드는 콘트롤서에 있는 메소드입니다.
마지막에 ajaxXmlBuilder 를 찍어보면 xml로 구성은 됐습니다.
근데 실행하면 널포인트가 나네요.
화면에 바인딩하는 방법이 남은 거 같은데요. 어찌해야 하나요.
그리고 페이징은 어찌해야 하나요? 질문글을 검색해 보니 페이징은 ajax를 지원하지않는다고 하던데 그럼 목록과 페이징을 처리하는 방법을 알고 싶습니다.
// 목록을 조회하는 ajax
public String ajaxList (@RequestParam("arg") String arg )
{
ModelAndView model = new ModelAndView(new AjaxXmlView()); <-- AjaxXmlView 아래 클래스
AjaxXmlBuilder ajaxXmlBuilder = new AjaxXmlBuilder();
for(EgovMap resultMap:resultList){
for(int i=0;i<resultMap.size();i++){
ajaxXmlBuilder.addItem(String.valueOf(resultMap.get(i)), String.valueOf(resultMap.get(resultMap.get(i))), false);
}
}
return "/ufac/sensor/air/UbiUServiceUFacSensorAirSensingTypeList";
}
public class AjaxXmlView extends AbstractView {
@Override
protected void renderMergedOutputModel(Map model,
HttpServletRequest request, HttpServletResponse response)
throws Exception
{
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
response.setCharacterEncoding("UTF-8");
PrintWriter writer = response.getWriter();
writer.write((String) model.get("ajaxXml")); //Model Attribute 이름은 공통으로 사용하는 것으로...
writer.close();
}
}
A
안녕하세요.. 김희순님..
우선 ajaxList 메소드릐 return 타입을 String에서 ModelAndView로 변경하시고.
return을 생성된 ModelAndView인.. model로 하시면.. 처리될 것 같습니다.
일반적인 String의 경우는 ViewResolver에 전달되는 논리적인 뷰명을 리턴하는 것입니다..
사용하신 예는 실제 물리적은 View 클래스(AjaxXmlView 객체)를 사용하여 rendering하기 때문에.. 해당 View 클래스를 갖는 ModelAndView를 직접 리턴하셔야 합니다..
그리고 화면 바인딩 부분 및 페이징처리는 어떤 ajaxTags의 기능을 사용하셨는지 .. 해당 가이드를 참조하시면 될 것 같습니다. (http://ajaxtags.sourceforge.net/)
그럼.. 즐거운 하루되십시오.
감사합니다.
우선 ajaxList 메소드릐 return 타입을 String에서 ModelAndView로 변경하시고.
return을 생성된 ModelAndView인.. model로 하시면.. 처리될 것 같습니다.
일반적인 String의 경우는 ViewResolver에 전달되는 논리적인 뷰명을 리턴하는 것입니다..
사용하신 예는 실제 물리적은 View 클래스(AjaxXmlView 객체)를 사용하여 rendering하기 때문에.. 해당 View 클래스를 갖는 ModelAndView를 직접 리턴하셔야 합니다..
그리고 화면 바인딩 부분 및 페이징처리는 어떤 ajaxTags의 기능을 사용하셨는지 .. 해당 가이드를 참조하시면 될 것 같습니다. (http://ajaxtags.sourceforge.net/)
그럼.. 즐거운 하루되십시오.
감사합니다.