2014-10-11 270 views
0

我不想在方法中声明HttpServletResponse参数,我在LocalThread中获取响应对象。此代码运行良好,但春天抛出一个异常,该视图未找到。如何避免声明HttpServletResponse参数并在没有警告和错误的情况下工作。如何在springmvc中响应json数据

[警告] /bct/user/delete.do:java.io.FileNotFoundException:/WEB-INF/view/user/delete.jsp

@RequestMapping("/delete") 
public void delete(String[] id) { 
    //userService.delete(id); 
    super.sendSuccess(); 
} 

protected void sendSuccess(Object data, String msg) { 
    Map<String, Object> map = new HashMap<String, Object>(); 
    if(data != null) { 
     map.put(KEY_DATA, data); 
    } 
    map.put(KEY_SUCCESS, true); 
    map.put(KEY_MSG, msg); 
    try { 
     //Jackson 
     mapper.writeValue(ServletHolder.getResponse().getOutputStream(), map); 
    } catch (Exception e) { 
     log.error("write json fail: " + map, e); 
    } 
} 
+4

我建议你看看关于如何构建一个宁静的Web服务的Spring MVC文档:http://spring.io/guides/gs/rest-service/。当您使用@RestController时,Spring MVC会自动处理将对象转换为JSON等效(假设您有Jackson作为依赖项)。 – alfredaday 2014-10-11 04:44:11

回答

0

见本link。它描述了如何响应json,但要做到这一点,你应该拥有像@alfredaday所说的杰克逊依赖关系。