GWT: получить информацию о локали со стороны сервера? - PullRequest
2 голосов
/ 24 декабря 2009

Я использую GWT вместе с Spring / Hibernate / AOP. Я использую Аспект для отправки уведомлений по электронной почте. В одном из моих аспектов я хочу получить текущую локаль от GWT, чтобы я мог отправить локализованное электронное письмо пользователю Есть ли способ получить доступ к данным локали GWT со стороны клиента?

Спасибо

Ответы [ 2 ]

2 голосов
/ 29 декабря 2009

http://code.google.com/intl/es-ES/webtoolkit/doc/latest/DevGuideI18nLocale.html

имеет информацию о локалях в GWT.

У меня есть два подхода:

1) сервер без сессии: метод на сервере, который отправляет электронную почту, получает языковой стандарт от клиента.

Допустим, у интерфейса есть метод:

doStuffAndSendMails(MyObjectData myObj);

Мое предложение - преобразовать его в

doStuffAndSendMails(MyObjectData myObj, String localeStr);

и вызвать его из клиента GWT следующим образом:

doStuffAndSendMails(myObj, LocaleInfo.getCurrentLocale().getAsString());

2) сервер, поддерживающий сеанс: я не знаю, позволяет ли GWT использовать сеанс ... и ... я предпочитаю не использовать его ... но при необходимости вы можете отправить на сервер локаль клиента и сохранить его в сеансе ...

0 голосов
/ 22 апреля 2014

Вы можете иметь локаль для каждого вызова метода rpc без добавления параметра локали в ваши методы.

  1. добавить следующее в web.xml:

    <servlet>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>com.example.MyServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>*.rpc</url-pattern>
    </servlet-mapping>
    
  2. и класс MyServlet будет выглядеть так:

    public class MyServlet extends HttpServlet {
       @Override
       protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            ...
            ...
            Locale userPreferredLocale = request.getLocale();
            ...
            ...
    
        }
    }
    
...