Spring MVC с автозаполнением jquery не возвращает результат - PullRequest
2 голосов
/ 22 марта 2012

Я использую Spring MVC и автозаполнение jquery, мой контроллер Spring выглядит следующим образом

@RequestMapping(value ="/searchit.htm", method=RequestMethod.GET)
    @ResponseBody
    protected String testIt(Model model){
        gsonutil = new GsonUtil<YBusiness>();
        String result = MyManager.search();     
        model.addAttribute("result",result);
        return "jsonNames";

    }

Мой bean-компонент "jsonNames" настроен следующим образом.

<bean name="jsonNames"
       class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />

Все работаетхорошо, мое автозаполнение ударяет по контроллеру, но не возвращает результат в ответ, я очень уверен, что что-то не так в моем весеннем методе контроллера MVC, потому что, если я передаю исходный массив (с некоторыми предварительно заполненными значениями), онработы.

1 Ответ

1 голос
/ 22 марта 2012

Несколько ошибок / недостатков в предоставленном вами фрагменте кода:

  1. Аннотации @ResponseBody сообщают Spring MVC, что возвращаемое значение метода должно быть заполнено как ответ HTTP-запроса. Учитывая приведенный выше метод контроллера, если вы нажмете http://yourserver/context/searchit.htm, вы, вероятно, увидите HTML-код с записью «jsonNames». Так что удалите аннотацию. (Подсказка, прежде чем даже перехватывать этот URL с помощью автозаполнения, используйте браузер, чтобы проверить, отвечает ли URL должным образом)

  2. Если вы планируете использовать MappingJacksonJsonView, вы должны определить bean-компонент BeanNameViewResolver в контейнере bean-контекста. Этот распознаватель представления сообщает Spring MVC, что строка, возвращаемая из метода контроллера, должна использоваться для сопоставления с именем компонента, определенным в контексте, в вашем случае «jsonNames»

  3. После того, как вы работаете над этим, то есть bean-компоненты Spring MVC настроены правильно, и ваш контроллер возвращает JSON, вам придется проверить, совместим ли возвращаемый формат с вашей библиотекой автозаполнения внешнего интерфейса, если нет еще немного работы впереди вас в контроллере.

См. Документацию, по большей части Spring MVC довольно прост http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html Надеюсь, это поможет.

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