spring-201-springmvc基于MappingJacksonValue 实现JSONP

springmvc是通过预留参数支持JSONP的支持

 

import org.springframework.http.converter.json.MappingJacksonValue;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
public class DemoController {
    
    @RequestMapping("/test_jsonp")
    public MappingJacksonValue test_jsonp(String callback) {
        Object response = null;
        //TODO ...
        
        MappingJacksonValue mappingJacksonValue = new MappingJacksonValue(response);
        mappingJacksonValue.setJsonpFunction(callback);
        return mappingJacksonValue;
    }
}

1、如果客户端传值callback,那么就会以jsonp的形式返回给客户端

2、如果客户端没有传值callback,那么默认以json的形式返回给客户端

3、callback的参数名称也可以更改,一般不需要。

4、jsonp内部原理还是利用jackson的支持,把数据渲染成js字符串形式返回给客户端

posted @ 2016-05-09 16:07  conge  阅读(3544)  评论(0编辑  收藏  举报