автоматически выбрать viewResolver на основе URL запроса? - PullRequest
1 голос
/ 25 августа 2011

То, что я хотел бы сделать, это написать один метод, который будет возвращать объект, сопоставить метод с запросом и изменить формат объекта на основе URL-адреса. Итак, если бы у меня был массив объектов Client, которые возвращаются для /clients, я бы по умолчанию разрешил объект в скоростной шаблон (clients.vm) для обработки форматирования. Однако, если URL-адрес равен /clients.json, я бы хотел передать объект обратно в тело ответа и позволить конвертеру сообщений выяснить, как с ним работать.

Итак, мой вопрос, как мне настроить Spring и как написать контроллер?

Thx

1 Ответ

1 голос
/ 25 августа 2011

Используйте PathVariable в вашем методе обработчика, используйте его, чтобы переключить, какое представление использовать:

@RequestMapping("/myapp/{viewtype}/view.do")
public String myHandler(
      @PathVariable String viewtype,
      Model model) {
  // do stuff
  return "viewname." + viewtype;
}

Тип просмотра может быть vm, или jsp, или что-то еще. Он также может вернуть JSON, если тип возвращаемого значения просто изменяется на @ResponseBody, и у вас есть JAR-файлы Джексона на пути к классам.

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