1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.struts.chain.commands.servlet;
17
18 import org.apache.commons.logging.Log;
19 import org.apache.commons.logging.LogFactory;
20 import org.apache.struts.Globals;
21 import org.apache.struts.chain.commands.AbstractSelectLocale;
22 import org.apache.struts.chain.contexts.ActionContext;
23 import org.apache.struts.chain.contexts.ServletActionContext;
24
25 import javax.servlet.http.HttpSession;
26
27 import java.util.Locale;
28
29 /***
30 * <p>Select the <code>Locale</code> to be used for this request.</p>
31 *
32 * @version $Rev: 421119 $ $Date: 2005-05-07 12:11:38 -0400 (Sat, 07 May 2005)
33 * $
34 */
35 public class SelectLocale extends AbstractSelectLocale {
36 private static final Log log = LogFactory.getLog(SelectLocale.class);
37
38
39
40 /***
41 * <p>Return the <code>Locale</code> to be used for this request.</p>
42 *
43 * @param context The <code>Context</code> for this request
44 */
45 protected Locale getLocale(ActionContext context) {
46 ServletActionContext saContext = (ServletActionContext) context;
47
48
49 HttpSession session = saContext.getRequest().getSession();
50 Locale locale = (Locale) session.getAttribute(Globals.LOCALE_KEY);
51
52 if (locale != null) {
53 return (locale);
54 }
55
56
57 locale = saContext.getRequest().getLocale();
58
59 if (locale == null) {
60 locale = Locale.getDefault();
61 }
62
63 session.setAttribute(Globals.LOCALE_KEY, locale);
64
65 return (locale);
66 }
67 }