Spring MVC 和模板变量

发布于 2024-10-06 07:58:38 字数 423 浏览 4 评论 0原文

将 Spring MVC 3.0 与 sitemesh 和 freemarker 结合使用。

我试图让当前登录用户的用户名显示在 sitemesh 装饰器的顶部。

那么问题是如何将此变量公开给我的所有(或一部分)控制器?

我可以手动将其添加到我的所有模型中,但这似乎不切实际:

ModelAndView mav = new ModelAndView("test");
mav.addObject("user", userName);
return mav;

特别是如果我想让更多模板动态化。

在 struts 中,这是通过从基本操作扩展所有操作并向基本操作添加 getUser 方法来完成的,但我不知道如何在 spring 中执行此操作。

有什么想法吗?

谢谢! 蒂姆

Using Spring MVC 3.0 with sitemesh and freemarker.

I'm trying to get the username of the currently logged in user to display at the top of the sitemesh decorator.

The question, then, is how do I expose this variable to all (or a subset of) my controllers?

I could add it to all of my models manually, but this seems impractical:

ModelAndView mav = new ModelAndView("test");
mav.addObject("user", userName);
return mav;

Especially if I want to make more of the template dynamic.

In struts, this was done by extending all actions from a base action, and adding a getUser method to the base, but I can't figure out how to do this in spring.

Any ideas?

Thanks!
Tim

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦毁影碎の 2024-10-13 07:58:38

请参阅http://blog. humandoing.net/2006/03/06 /interceptors-in-spring/ 有关如何使用 Spring 拦截器完成此操作的示例

See http://blog.humandoing.net/2006/03/06/interceptors-in-spring/ for an example of how this can be done using a Spring interceptor

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文