将会话变量传递给MessageSource

时间:2012-05-18 14:24:11

标签: java spring-mvc properties messages

我有一个控制器,它显示一个表单并从属性文件中加载消息。我延长了ReloadableResourceBundleMessageSource并将其称为DatabaseMessageSource。现在,如果数据库中有消息,它将获得该消息,如果不是默认为proeprties文件中的内容。 Link to example

我的数据库查询被称为getCode(companyId, code)。为了使上面的示例正常工作,我刚刚为1传递了companyId

我想将会话中的companyId传递给DatabaseMessageSource,以便它可以为该特定公司提取正确的消息。有谁知道我怎么能做到这一点?

1 个答案:

答案 0 :(得分:2)

您可以随时使用以下方式获取当前HttpSession

ServletRequestAttributes attr = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
HttpSession session = attr.getRequest().getSession(); 

然后从那里获取你的属性。