java - 在 SpringMVC 中通过 AOP 将一些内容设置到 Freemarker 页面中

标签 java spring spring-mvc

要在每个 Freemarker 页面上显示用户的名称,我可以在每个 Controller 中调用 model.addAttribute ,如下所示:

@RequestMapping(value = "index",method=RequestMethod.GET)
public String index(Model model) {
    model.addAttribute("currentUser", App.getCurrentUser());
    return "index";
}

#index.ftl
<div>${currentUser.userName}</div>

该调用将出现在我的代码的任何地方。这真是一场噩梦。是否有其他方法(例如 AOP 或 Servlet Filter)将内容设置到页面中?

最佳答案

您可以使用拦截器来实现此目的,请检查:http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/mvc.html#mvc-handlermapping-interceptor

这种信息最好将其保存在保存用户配置文件的 session 范围 bean 上,而不是为每个 HTTP 请求重新加载它。

关于java - 在 SpringMVC 中通过 AOP 将一些内容设置到 Freemarker 页面中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23289997/

相关文章:

java - 在应用程序启动期间打印所有 REST 服务 URL

spring - Autowiring 在 Spring 3.1.2、JUnit 4.10.0 中不起作用

java - 如何使用hibernate从数据库中检索数据?

Java - 如何动态更改 JScrollBar 的按钮?

java - Swing 跌落 block

java - Java 有 using 语句吗?

java - 如何根据按下的按钮使用不同的验证

java - 为什么这个java程序构造函数不无限继续下去?

java - 在属性文件中存储大段 HTML 代码是否正常?

Spring MVC - 从所有拦截器中排除 Assets