【发布时间】:2014-10-02 21:22:24
【问题描述】:
我有一个使用 Struts 2 的 webapp。我使用 i18n 拦截器和所有默认设置。我认为这个拦截器的工作原理如下:
- 如果有参数request_locale,去掉这个参数, 将此语言环境放在会话中以供将来使用。
- 如果没有参数,则在 httpheader 中搜索语言环境并将其放置 会话中的语言环境以供将来使用。
所以在我的动作类(实现 sessionAware)中,我有以下方法:
public String getUserLocale()
{
return (String) session.get("WW_TRANS_I18N_LOCALE");
}
但是,此方法在情况 #2 中不起作用,它只是返回 null。所以我的问题是:如果没有明确的请求参数,我如何让我的操作知道 i18n 拦截器检测到的用户语言环境?因为它没有存储在会话中?
【问题讨论】:
标签: java struts2 internationalization