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 +}