2009-12-24 5 views
2

J'utilise GWT avec Spring/Hibernate/AOP. J'utilise un Aspect pour envoyer des emails de notification. Dans l'un de mes Aspect, je souhaite obtenir l'environnement local actuel de GWT, afin que je puisse envoyer l'e-mail localisé à l'utilisateur. Y a-t-il un moyen d'accéder aux données de localisation GWT du côté client?GWT: obtenir les informations de localisation du côté serveur?

Merci

+1

Vous sujet dit "de côté serveur", votre le texte dit "du côté du client" ... – skaffman

Répondre

2

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

a des infos sur les versions localisées à GWT.

J'ai deux approches:

1) session moins serveur: la méthode dans le serveur qui envoie l'e-mail reçoit les paramètres régionaux du client.

Disons que l'interface a une méthode:

doStuffAndSendMails(MyObjectData myObj); 

Ma proposition est de le convertir en

doStuffAndSendMails(MyObjectData myObj, String localeStr); 

et l'appeler du client GWT ainsi:

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

2) serveur de session-conscient: je ne sais pas si GWT permet d'utiliser la session ... et ... je préfère ne pas l'utiliser ... mais si vous devez, vous peut envoyer au serveur les paramètres régionaux du client et le stocker dans la session ...

0

Vous pouvez avoir les paramètres régionaux pour chaque méthode rpc appeler sans ajouter un paramètre de paramètres régionaux à vos méthodes.

  1. ajoutez ce qui suit à l'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. et la classe myServlet sera comme ceci:

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