2

我将 GWT 与 Spring/Hibernate/AOP 一起使用。我使用 Aspect 发送通知电子邮件。在我的一个方面,我想从 GWT 获取当前语言环境,以便我可以将本地化的电子邮件发送给用户。有没有办法从客户端访问 GWT 语言环境数据?

谢谢

4

2 回答 2

2

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是否允许使用会话......并且......我不想使用它......但是如果必须,您可以将客户端的区域设置发送到服务器并将其存储在会话中...

于 2009-12-29T17:05:11.833 回答
0

您可以为每个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();
            ...
            ...
    
        }
    }
    
于 2014-04-22T12:17:51.007 回答