KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > struts > webapp > tiles > lang > SelectLocaleAction


1 /*
2  * $Id: SelectLocaleAction.java 54929 2004-10-16 16:38:42Z germuska $
3  *
4  * Copyright 1999-2004 The Apache Software Foundation.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */

18
19 package org.apache.struts.webapp.tiles.lang;
20
21 import java.util.Locale JavaDoc;
22 import javax.servlet.http.HttpServletRequest JavaDoc;
23 import javax.servlet.http.HttpServletResponse JavaDoc;
24 import javax.servlet.http.HttpSession JavaDoc;
25 import org.apache.struts.action.Action;
26 import org.apache.struts.action.ActionForm;
27 import org.apache.struts.action.ActionForward;
28 import org.apache.struts.action.ActionMapping;
29 import org.apache.struts.taglib.tiles.ComponentConstants;
30
31 public final class SelectLocaleAction extends Action {
32
33
34     // --------------------------------------------------------- Public Methods
35

36
37     /**
38      * Process the specified HTTP request, and create the corresponding HTTP
39      * response (or forward to another web component that will create it).
40      * Return an <code>ActionForward</code> instance describing where and how
41      * control should be forwarded, or <code>null</code> if the response has
42      * already been completed.
43      *
44      * @param mapping The ActionMapping used to select this instance
45      * @param actionForm The optional ActionForm bean for this request (if any)
46      * @param request The HTTP request we are processing
47      * @param response The HTTP response we are creating
48      *
49      * @exception Exception if the application business logic throws
50      * an exception
51      */

52     public ActionForward execute(
53                  ActionMapping mapping,
54                  ActionForm form,
55                  HttpServletRequest JavaDoc request,
56                  HttpServletResponse JavaDoc response)
57     throws Exception JavaDoc {
58
59     // Extract parameters we will need
60
String JavaDoc requested = (String JavaDoc)request.getParameter( "language" );
61
62     if( requested == null )
63         return (mapping.findForward("failed"));
64     if( requested.equalsIgnoreCase( "FR" ) )
65       setLocale( request, Locale.FRANCE );
66     if( requested.equalsIgnoreCase( "UK" ) )
67       setLocale( request, Locale.UK );
68     if( requested.equalsIgnoreCase( "DE" ) )
69       setLocale( request, Locale.GERMAN );
70
71     //System.out.println( "action perform called" );
72
// Fill in nested classes
73
return (mapping.findForward("success"));
74     }
75
76     protected void setLocale( HttpServletRequest JavaDoc request, Locale JavaDoc locale )
77       {
78       HttpSession JavaDoc session = request.getSession(false);
79       if (session != null)
80         session.setAttribute(ComponentConstants.LOCALE_KEY, locale);
81
82       }
83 }
84
Popular Tags