Formatar números conforme localização do cliente

1 resposta
E

Pessoal, tô tentando formatar os números conforme configuração do OS do cliente mas não estou conseguindo.

Por exemplo:

NumberFormat nf = DecimalFormat.getInstance(new Locale(“pt”, “BR”));
Ele formata conforme o padrão do Brasil

Como faço para formatar conforme o padrão de quem está navegando na página?

1 Resposta

marcos.junqueira

Desse jeito que está fazendo sempre será o locale pt_BR

Então você deve descobrir qual o Locale da pessoa que está acessando a página e armazenar na sessão dessa pessoa.

Para obter o locale, a Interface ServletRequest fornece 2 métodos interessantes, veja:

getLocale

Locale getLocale()

Returns the preferred Locale that the client will accept content in, based on the Accept-Language header. If the client request doesn't provide an Accept-Language header, this method returns the default locale for the server.

Returns:
    the preferred Locale for the client

Assim você pega o locale preferencial e armazena na sessão. você pode fazer isso por um servlet

recupera locale e armazena na sessao

Locale locale = request.getLocale();
request.getSession().setAttribute("locale", locale);

Recupera locale da sessao

Locale locale = (Locale) request.getSession().getAttribute("locale");

Você não precisa necessariamente armazenar o locale na sessão, se não for utilizá-lo em outros locais.

Criado 24 de julho de 2007
Ultima resposta 24 de jul. de 2007
Respostas 1
Participantes 2