java/nekurak.net-web/src/java/cz/frantovo/nekurak/servlet/SuperServlet.java
changeset 177 d874e9e3e162
child 179 2ed9f3231a28
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/java/nekurak.net-web/src/java/cz/frantovo/nekurak/servlet/SuperServlet.java	Tue Jan 25 22:03:46 2011 +0100
     1.3 @@ -0,0 +1,40 @@
     1.4 +package cz.frantovo.nekurak.servlet;
     1.5 +
     1.6 +import java.io.IOException;
     1.7 +import java.util.Locale;
     1.8 +import javax.servlet.ServletException;
     1.9 +import javax.servlet.http.HttpServlet;
    1.10 +import javax.servlet.http.HttpServletRequest;
    1.11 +import javax.servlet.http.HttpServletResponse;
    1.12 +
    1.13 +/**
    1.14 + *
    1.15 + * @author fiki
    1.16 + */
    1.17 +public class SuperServlet extends HttpServlet {
    1.18 +
    1.19 +	public static final String PARAMETR_JAZYK = "jazyk";
    1.20 +	private static final String ATRIBUT_JAZYK = "javax.servlet.jsp.jstl.fmt.locale.session";
    1.21 +
    1.22 +	@Override
    1.23 +	protected void doGet(HttpServletRequest požadavek, HttpServletResponse odpověď) throws ServletException, IOException {
    1.24 +		společné(požadavek, odpověď);
    1.25 +	}
    1.26 +
    1.27 +	/**
    1.28 +	 * Společné činnosti, které děláme pro všechny HTTP metody (GET, POST atd.)
    1.29 +	 */
    1.30 +	private void společné(HttpServletRequest požadavek, HttpServletResponse odpověď) throws ServletException, IOException {
    1.31 +		nastavJazyk(požadavek);
    1.32 +	}
    1.33 +
    1.34 +	/**
    1.35 +	 * Pokud se chce uživatel ručně přepnout na jiný jazyk, než jaký posílá jeho prohlížeč.
    1.36 +	 */
    1.37 +	private void nastavJazyk(HttpServletRequest požadavek) {
    1.38 +		String jazyk = požadavek.getParameter(PARAMETR_JAZYK);
    1.39 +		if (jazyk != null) {
    1.40 +			požadavek.getSession().setAttribute(ATRIBUT_JAZYK, new Locale(jazyk));
    1.41 +		}
    1.42 +	}
    1.43 +}