весна не работает - PullRequest
       2

весна не работает

0 голосов
/ 26 февраля 2012

Я создал контроллер с обработчиком метода как

    @RequestMapping( value = {"/membersjson"},method = RequestMethod.GET)
            public @ResponseBody String getMembers(Model model) {
                List<Member> members = memberService.getMembers();
                model.addAttribute("members",members);
                return "jsontemplate";
            }

<bean id="jsontemplate"
        class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />

Я ожидаю, что выход будет в json, но вместо этого будет вывод "jsontemplate".Может кто-нибудь, пожалуйста, объясните причину.заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 26 февраля 2012

MappingJacksonJsonView, или любой другой компонент разрешения или представления, не имеет значения, когда вы используете @ResponseBody.Вместо этого Spring попытается преобразовать возвращаемое значение вашего метода непосредственно в ответ.В этом случае решено превратить его в строковый ответ.

Сначала убедитесь, что вы объявили <mvc:annotation-driven/> в своем контексте и что Джексон доступен в classpath .Также убедитесь, что браузер отправляет application/json в своем заголовке Accept.

1 голос
/ 26 февраля 2012

Вы не должны возвращать строку "jsontemplate";Вы должны вернуть либо List<Member>, либо Model.Отображение JSON должно произойти автоматически.

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