diogosmendonca / webdep

Web Dependability (WebDep)
3 stars 9 forks source link

Internacionalização na sessão sem selecionar na navbar #26

Closed luanvilarim closed 7 years ago

luanvilarim commented 7 years ago

Pessoal, estou utilizando o parametro lang dentro dos meus servlets. Ok, nada de mais. Porém, o Apache(acredito que seja), tem um padrão diferente do que usamos com taglib:

Apache seta "en" e usamos "en_US". Apache joga o objeto Locale na sessão como "lang" e o taglib joga a String como "lang" também.

Isso gera conflitos de cast na hora de pegar o Locale da sessão:

`//retorna "en_US" ou "pt_BR" após a escolha do usuário String lang = (String) request.getSession().getAttribute("lang");

//retorna "en" se o usuário não escolher uma língua, isso vem na sessão automaticamente String lang = ((Locale) request.getSession().getAttribute("lang")).getLanguage();`

Para corrigir isso setei manualmente na index.jsp (primeira página que vemos) o parametro lang como "pt_BR" e assim sempre recebemos en_US após a escolha do usuário ou pt_BR que aprendemos a usar