0

假设登录用户点击了 url:

www.example.com/forum/234

在spring mvc动作触发之前,我想加载用户对象,用户的权限,论坛对象。

现在我想在这个请求中共享这些对象。因此,其他类可以在当前请求中查看 aUser和object。PermissionForum

如果自定义 freemarker 模块也可以引用这些对象(如果它们可用),那可能会很酷。

这可能吗?

4

1 回答 1

1

首先,考虑使用 spring-security,它的过滤器可以满足您的一切需求。

如果您想手动完成所有操作,那么您至少有两个选择: - 使用 servlet 过滤器 - 使用 spring 处理程序拦截器(http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference /html/mvc.html#mvc-handlermapping-interceptor)。

在这两种情况下,都将这些数据存储在请求属性中。

另一种选择是创建具有请求范围的bean,它将存储您的数据。

对于 Freemarker,您必须提供自己的FreemarkerViewResolver子类,它将在requiredViewClass()方法中返回FreeMarkerView的子类。在此FreeMarkerView子类中的exposeHelpers()方法中添加您的对象。

于 2010-07-17T03:38:28.690 回答