Загружать объекты перед действием и делиться этими объектами в действии и модулях freemaker, возможно? - PullRequest
0 голосов
/ 16 июля 2010

Скажите, что вошедший в систему пользователь нажимает на ссылку:

www.example.com/forum/234

Перед началом весеннего действия mvc я хочу загрузить объект пользователя, разрешение пользователя, объект форума.

Теперь я хочу поделиться этими объектами через этот запрос. Таким образом, другие классы могут посмотреть в текущем запросе объект User, Permission и Forum.

Потенциально было бы здорово, если бы пользовательский модуль freemarker мог также ссылаться на эти объекты, если они доступны.

это возможно?

1 Ответ

1 голос
/ 17 июля 2010

Во-первых, рассмотрите возможность использования Spring-Security, чьи фильтры делают все, что вам нужно.

Если вы хотите сделать все вручную, то у вас есть как минимум два варианта: - используйте фильтры сервлетов - использовать перехватчик пружинного обработчика (http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html#mvc-handlermapping-interceptor).

В обоих случаях сохраните эти данные в атрибутах запроса.

Другой вариант - создать компонент с областью запроса, в которой будут храниться ваши данные.

Что касается Freemarker, вы должны предоставить собственный подкласс FreemarkerViewResolver , который вернет подкласс FreeMarkerView в requiredViewClass () . Добавьте ваши объекты в метод exposeHelpers () в этом FreeMarkerView подклассе.

...