2014-10-11 3 views
0

Я не хочу объявлять аргумент HttpServletResponse в методе, я получаю объект ответа в LocalThread. Этот код работает хорошо, но пружина вызывает исключение, которое не найдено. Как избежать объявления аргумента HttpServletResponse и работать без предупреждения и ошибки.Как ответить json data в springmvc

[ВНИМАНИЕ] /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

Я бы порекомендовал вам взглянуть на документацию Spring MVC о том, как создать спокойный веб-сервис: http://spring.io/guides/gs/rest-service/. Spring MVC автоматически обрабатывает преобразование объекта в его эквивалент JSON (при условии, что у вас есть Джексон как зависимость), когда вы используете @RestController. – alfredaday

ответ

0

Смотрите эту link. В нем описывается, как реагировать на json, но для этого вы должны иметь зависимость от Jackson, например, @alfredaday.

Смежные вопросы