Spring/Hibernate/AOP と共に GWT を使用しています。アスペクトを使用して通知メールを送信しています。私のアスペクトの 1 つで、GWT から現在のロケールを取得して、ローカライズされた電子メールをユーザーに送信できるようにしたいと考えています。クライアント側から GWT Locale データにアクセスする方法はありますか?
ありがとう
Spring/Hibernate/AOP と共に GWT を使用しています。アスペクトを使用して通知メールを送信しています。私のアスペクトの 1 つで、GWT から現在のロケールを取得して、ローカライズされた電子メールをユーザーに送信できるようにしたいと考えています。クライアント側から GWT Locale データにアクセスする方法はありますか?
ありがとう
http://code.google.com/intl/es-ES/webtoolkit/doc/latest/DevGuideI18nLocale.html
GWT のロケールに関する情報があります。
私には2つのアプローチがあります:
1) セッションレス サーバー: 電子メールを送信するサーバーのメソッドは、クライアントからロケールを受け取ります。
インターフェースにメソッドがあるとしましょう:
doStuffAndSendMails(MyObjectData myObj);
私の提案は、それをに変換することです
doStuffAndSendMails(MyObjectData myObj, String localeStr);
この方法で GWT クライアントから呼び出します。
doStuffAndSendMails(myObj, LocaleInfo.getCurrentLocale().getAsString());
2) セッション認識サーバー: GWT でセッションの使用が許可されているかどうかわかりません...そして... 私はそれを使用したくありません...しかし、必要に応じて、クライアントのロケールをサーバーに送信できますセッションに保存します...
メソッドにロケール パラメータを追加しなくても、すべてのrpc メソッド呼び出しにロケールを設定できます。
以下を 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>
MyServlet クラスは次のようになります。
public class MyServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
...
...
Locale userPreferredLocale = request.getLocale();
...
...
}
}