1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package examples.localization;
20
21 import java.util.Locale;
22
23 import javax.servlet.http.HttpServletRequest;
24 import javax.servlet.http.HttpServletResponse;
25 import javax.servlet.http.HttpSession;
26
27 import org.apache.struts.Globals;
28 import org.apache.struts.action.Action;
29 import org.apache.struts.action.ActionForm;
30 import org.apache.struts.action.ActionForward;
31 import org.apache.struts.action.ActionMapping;
32
33 /***
34 * Retrieve and process data from the submitted form
35 *
36 * @version $Rev: 421486 $ $Date: 2006-07-12 20:37:08 -0700 (Wed, 12 Jul 2006) $
37 */
38 public class ProcessLocalizationAction extends Action {
39
40
41
42 /***
43 * Constructor for ProcessOptionsAction.
44 */
45 public ProcessLocalizationAction() {
46 super();
47 }
48
49
50
51 /***
52 * Process the request and return an <code>ActionForward</code> instance
53 * describing where and how control should be forwarded, or
54 * <code>null</code>if the response has already been completed.
55 *
56 * @param mapping The ActionMapping used to select this instance
57 * @param form The optional ActionForm bean for this request (if any)
58 * @param request The HTTP request we are processing
59 * @param response The HTTP response we are creating
60 *
61 * @exception Exception if the application logic throws an exception
62 *
63 * @return the ActionForward for the next view
64 */
65 public ActionForward execute(
66 ActionMapping mapping,
67 ActionForm form,
68 HttpServletRequest request,
69 HttpServletResponse response)
70 throws Exception {
71
72
73 HttpSession session = request.getSession();
74
75
76 Locale locale = request.getLocale();
77
78
79
80 String language = request.getParameter("language");
81 String country = request.getParameter("country");
82
83 if ((language != null && language.length() > 0)
84 && (country != null && country.length() > 0)) {
85 locale = new java.util.Locale(language, country);
86 } else if (language != null && language.length() > 0) {
87 locale = new java.util.Locale(language, "");
88 }
89
90
91 session.setAttribute(Globals.LOCALE_KEY, locale);
92
93
94 return mapping.findForward("success");
95 }
96
97 }