Spring MVC 和模板变量
Posted
技术标签:
【中文标题】Spring MVC 和模板变量【英文标题】:Spring MVC and Template Variables 【发布时间】:2011-05-20 16:58:09 【问题描述】:将 Spring MVC 3.0 与 sitemesh 和 freemarker 结合使用。
我正在尝试让当前登录用户的用户名显示在 sitemesh 装饰器的顶部。
那么,问题是如何将此变量公开给我的所有(或部分)控制器?
我可以手动将它添加到我的所有模型中,但这似乎不切实际:
ModelAndView mav = new ModelAndView("test");
mav.addObject("user", userName);
return mav;
特别是如果我想让模板更加动态。
在 struts 中,这是通过从基础动作扩展所有动作,并将 getUser 方法添加到基础来完成的,但我不知道如何在 spring 中做到这一点。
有什么想法吗?
谢谢! 蒂姆
【问题讨论】:
你用的是什么风格的控制器?@Controller
,还是旧的 Spring 2.0 Controller
类层次结构?
你在使用 Spring Security 吗?
【参考方案1】:
有关如何使用 Spring 拦截器完成此操作的示例,请参阅 http://blog.humandoing.net/2006/03/06/interceptors-in-spring/
【讨论】:
以上是关于Spring MVC 和模板变量的主要内容,如果未能解决你的问题,请参考以下文章
Spring MVC + Thymeleaf:将变量添加到所有模板的上下文中
Spring MVC、Tiles2、ThymeLeaf 和自然模板
spring mvc 整合jsp和thymeleaf两个模板引擎