Java 使用spring/struts框架在JSP头文件中显示用户全名的最佳方法?
我有一个JSP struts应用程序,它使用Spring与services/dao/database集成。基本上,struts使用spring从DB获取数据,它构建表单并将其转发到JSP文件 我有一个头文件,它使用Tiles注入每个JSP文件。我想在页眉内的每一页上显示“欢迎John Doe”。其中“John Doe”是当前登录用户的名称 最好的方法是什么?我能想到的解决办法是:Java 使用spring/struts框架在JSP头文件中显示用户全名的最佳方法?,java,spring,jsp,struts,tiles,Java,Spring,Jsp,Struts,Tiles,我有一个JSP struts应用程序,它使用Spring与services/dao/database集成。基本上,struts使用spring从DB获取数据,它构建表单并将其转发到JSP文件 我有一个头文件,它使用Tiles注入每个JSP文件。我想在页眉内的每一页上显示“欢迎John Doe”。其中“John Doe”是当前登录用户的名称 最好的方法是什么?我能想到的解决办法是: 使用Spring过滤器捕获http请求。使用包含用户id(*)的cookie从数据库加载用户,并将该名称放入名为“C
(*)当然,cookie将被加密您是否已经在会话中存储了某种类型的
用户
对象
如果是这样,我只需要向这个域对象添加一个“getFullName()”方法,并让DAO在返回它时填充它。理想情况下,您应该在用户登录时填充User
对象,将其存储在会话中,而不需要在每个页面请求上再次从数据库加载用户的所有详细信息
(您不是在使用Spring Security吗?如果是这样,它们提供了一种非常简单的方法,可以在会话中存储类似于UserDetails
的对象,并且可以轻松访问它。)
我会投票反对你的两种方法,因为
不过,我不完全确定这将如何与tiles保持一致。我的方法不会每次都执行数据库请求。我将使用过滤器填充会话bean。会话bean由spring管理并连接到会话。