Spring MVC 2.5, JsonView и ModelMap - PullRequest
       8

Spring MVC 2.5, JsonView и ModelMap

1 голос
/ 03 марта 2010

Я хочу, чтобы многие мои контроллеры создавали и возвращали ModelMaps и чтобы эти ModelMaps впоследствии отправлялись / обрабатывались JsonView . (Эти контроллеры будут обслуживать запросы AJAX.) Я предполагаю, что мне нужно настроить ViewResolver; Каков наилучший способ сделать это? Есть ли лучшая альтернатива Spring-Json View?

EDIT:

Как подключить представление, когда мой контроллер возвращает ModelMap объектов, а не объектов ModelAndView?

Ответы [ 3 ]

1 голос
/ 03 марта 2010

В чем проблема с использованием Spring-JSON View?

Это похоже на то, как вы бы хотели обработать что-то вроде этого:

  • Ваш контроллер не знает, какая технология представления будет использоваться, он просто возвращает имя представления и данные (модель)
  • Вы настраиваете преобразователь представления для преобразования этой модели в JSON (или HTML, или Excel, или все, что вам нужно)
1 голос
/ 04 марта 2010
/**
 * Custom handler for displaying vets.
 * Note that this handler returns a plain {@link ModelMap} object instead of
 * a ModelAndView, thus leveraging convention-based model attribute names.
 * It relies on the RequestToViewNameTranslator to determine the logical
 * view name based on the request URL: "/vets.do" -> "vets".
 * @return a ModelMap with the model attributes for the view
 */
@RequestMapping("/vets.do")
public ModelMap vetsHandler() {
    return new ModelMap(this.clinic.getVets());
}

Для определения имени логического представления используется RequestToViewNameTranslator .

1 голос
/ 03 марта 2010

Я не уверен, что это «лучшая» альтернатива spring-json, но в Spring 3.0 вы можете просто аннотировать некоторые методы в вашем контроллере, и он будет возвращать json или xml на основе заголовка HTTP Accept.

См. это сообщение в блоге для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...