[Spring]spring ajax처리할때 간단하게 json으로 보내기

출처 - http://blog.naver.com/platinasnow?Redirect=Log&logNo=30177554726

 



JackSon 라이브러리를 추가.


- pom.xml
1
2
3
4
5
6
<!-- JackSon -->
<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-mapper-asl</artifactId>
    <version>1.9.13</version>
</dependency>



방법 1

xml 설정.


- servlet-context.xml
1
2
3
4
5
6
7
8
9
<!-- json 처리를 위한 MessageConverter -->
<beans:bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
    <beans:property name="messageConverters">
        <beans:list>
            <beans:bean 
                  class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>
        </beans:list>
    </beans:property>
</beans:bean>




컨트롤러 사용


-Controller.java
1
2
3
4
5
6
7
8
9
10
11
12
13
@RequestMapping(value="/ajax/index/isCheckAdminLogin", method = RequestMethod.POST)
@ResponseBody
public String isCheckedAdminLogin(@ModelAttribute Admin admin){
    //Map<String, Object> map = new HashMap<String, Object>();
//    System.out.println(admin.getAdminId()+admin.getAdminPw());
    if(adminService.isCheckedAdmin(admin)){
        //map.put("isChecked", "true");
        return "true";
    }else{
        //map.put("isChecked", "false");
        return "false";
    }        
}


ajax 요청된 컨트롤러의 리턴 값은 json으로 변환되어 응답한다.


@ResponseBody 로 객체를 리턴해도 json으로 변환 해 준다.



방법 2


-Controller.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//
import org.springframework.web.servlet.view.json.MappingJacksonJsonView;
//
 
@RequestMapping(value="/ajax/index/isCheckAdminLogin", method = RequestMethod.POST)
public ModelAndView isCheckedAdminLogin(
        @ModelAttribute Admin admin){        
    ModelAndView modelAndView = new ModelAndView(new MappingJacksonJsonView());
    //Map<String, Object> map = new HashMap<String, Object>();
//    System.out.println(admin.getAdminId()+admin.getAdminPw());
    if(adminService.isCheckedAdmin(admin)){
        modelAndView.addObject("isChecked""true");    
    }else{
        modelAndView.addObject("isChecked""false");    
    }
    return modelAndView;
}


메이븐 추가한 후, ModelAndView를 리턴할때 매핑을 json으로 매핑하면 된다.

댓글()