1. Maven을 이용중이라면 pom.xml에 다음과 같이 라이브러리를 추가

<!-- JSON -->
<dependency>
    <groupid>net.sf.json-lib</groupid>
    <artifactid>json-lib-ext-spring</artifactid>
    <version>1.0.2</version>
</dependency>

 

2. JsonView 등록

<!-- ajax JSON parsing -->
<beans:bean id="jsonView" class="net.sf.json.spring.web.servlet.view.JsonView">
<beans:bean id="viewResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver">
    <beans:property name="order" value="0"></beans:property>
</beans:bean>
</beans:bean>

 

3. 컨트롤러에서 데이터 넘기는 부분

@RequestMapping(value = "/json/jsonList.do")
public ModelAndView outputJsonList(ModelAndView modelAndView) {
    SomeDTO someData = someService.someMethod();
     
    Map map = new HashMap();
    map.put("someData", someData);
    map.put("strData", "strData");
     
    modelAndView.addAllObjects(map);
 
    // Keypoint ! setViewName에 들어갈 String 파라미터는 JsonView bean 설정해줬던 id와 같아야 한다.
    modelAndView.setViewName("jsonView");
     
    return modelAndView;

 

4. JavaScript소스에서  제이쿼리.ajax부분

$.ajax({
    url : "/json/jsonList.do",
    type : "POST",
    dataType: "json",
    success : function(data) {
        console.log("data.someData : " + data.someData);
        console.log("data.strData : " + data.strData);
    },
    error : function(jqXHR, textStatus, errorThrown) {
        alert("에러 발생~~ \n" + textStatus + " : " + errorThrown);
    }
});

'WebBase' 카테고리의 다른 글

[WebBase] 부동소수점 오차 문제와 해결법  (0) 2023.02.08
[WebBase] 스택(Stack )과 힙(Heap) 메모리영역(Memory)  (0) 2022.09.22
[WebBase] jQuery.ajax  (0) 2022.06.23
[WebBase] Ajax  (0) 2022.06.23
[WebBase] JSTL  (0) 2022.06.22

+ Recent posts