giannino1995 ha scritto:
Per risolvere ho creato 2 metodi di questo tipo e buona notte al secchio:
Va beh ... nessun problema ... "capisco". Ma dovresti comprendere poi (meglio il prima possibile) anche questi aspetti sui Locale, NumberFormat e altro, perché fanno parte del framework "base" in Java SE. Vengono molto "prima" di mille altre cose.
Comunque ............ un piccolo indizio te lo lascio. Se si vuole rispettare la preferenza dell'utente con il bel browser di sua scelta, è sufficiente usare il Locale getLocale() di ServletRequest.
Ogni volta che un browser fa una request, invia anche un header particolare chiamato "Accept-language", del tipo es. (dal mio Firefox):
Accept-language: it,en-US;q=0.7,en;q=0.3
Ovvero, tradotto a parole, il browser chiede al server: dammi l'italiano se ce l'hai. Se non ce l'hai mi va bene l'inglese americano (en-US) perché ha il
q ("quality") di 0.7 (se non c'è un q, vale 1.0, il massimo) ovvero un po' meno preferibile. Se non hai neanche questo, allora accetto l'inglese generico (en) che ha
q ancora più basso.
Questo ordine di preferenza lo puoi impostare nei settings di tutti i browser (ovviamente non in quella forma, ma più comodo, cioè "graficamente" con una lista in cui aggiungi/rimuovi/sposti le lingue). Il getLocale() semplicemente ti dà il Locale che è il più "preferito" dall'utente con quel browser.