Spring MVC 和模板变量
将 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请参阅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