Я не нашел какой-либо светокопии для этой проблемы, поэтому я реализовал свой собственный механизм.Я добавил текущий выбранный язык в качестве атрибута в заголовок и на стороне сервера я читаю язык из заголовка.
Клиентская сторона:
MyRequestFactory factory = GWT.create(MyRequestFactory.class);
factory.initialize(new SimpleEventBus(), new DefaultRequestTransport() {
@Override
protected void configureRequestBuilder(RequestBuilder builder) {
super.configureRequestBuilder(builder);
builder.setHeader("X-GWT-Language",
LocaleInfo.getCurrentLocale().getLocaleName());
}
});
Серверная сторона (Grails):
def index = {
String gwtLanguage = request.getHeader("X-GWT-Language")
if(gwtLanguage){
Locale gwtLocale = new Locale(gwtLanguage)
RequestContextUtils.getLocaleResolver(request).setLocale(request, response, gwtLocale)
}
// ... Handle the RequestFactory request