Как использовать аннотированные Spring-контроллеры с Freemarker для возврата пользовательских ответов ajax - PullRequest
0 голосов
/ 01 февраля 2012

Я в основном использую аннотированные контроллеры, которые возвращают объект ModelAndView, используемый Spring и Freemarker для рендеринга и возврата страниц в браузеры - прекрасно работает. Теперь я хотел бы отвечать на запросы ajax и сообщения, которые возвращают фрагменты html в качестве полезных данных внутри сообщения XML.

Проблема, связанная с тем, что я не возвращаю объекты ModelAndView, кажется, путает Spring WRT с @ModelAttribute (s) и объектами сеанса, которые поддерживают данные в / из форм.

Мне пришлось взломать шаблон freemarker для поддержки сообщений i18n и т. Д. Я обнаружил, что простой рендеринг файла FTL при одновременной попытке использовать объект Spring для рендеринга froms превращается в кроличью нору.

Я пытаюсь вручную (угадайте, что и) делать то, что делается за кадром, и это не работает оптимально. Чтобы отредактировать объект, я вручную помещаю объект в сеанс при визуализации формы редактирования. Когда сообщение возвращается, в объекте есть остаточные / разные значения, которые я возвращаю из сеанса И атрибут ModelAttribute, предоставленный Spring для меня.

Итог? Вопросы о Spring, Freemarker и пользовательских ответах, не принадлежащих ModelAndView, которые предоставляются Freemarker.

1 Ответ

0 голосов
/ 10 сентября 2012

Добавьте еще один экземпляр FreeMarkerViewResolver, который имеет только viewNames ='*.frg'.viewClass должен быть вашим собственным классом, который отображает шаблон так, как вы хотите, переопределяя метод processTemplate.

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