我有一个控制器,它显示一个表单并从属性文件中加载消息。我延长了ReloadableResourceBundleMessageSource
并将其称为DatabaseMessageSource
。现在,如果数据库中有消息,它将获得该消息,如果不是默认为proeprties文件中的内容。 Link to example
我的数据库查询被称为getCode(companyId, code)
。为了使上面的示例正常工作,我刚刚为1
传递了companyId
。
我想将会话中的companyId传递给DatabaseMessageSource
,以便它可以为该特定公司提取正确的消息。有谁知道我怎么能做到这一点?
答案 0 :(得分:2)
您可以随时使用以下方式获取当前HttpSession
:
ServletRequestAttributes attr = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
HttpSession session = attr.getRequest().getSession();
然后从那里获取你的属性。