【问题标题】:JSR303 localized messages with GWT RequestFactory使用 GWT RequestFactory 的 JSR303 本地化消息
【发布时间】:2012-01-24 09:58:03
【问题描述】:

当 RequestFactory 使用 jsr303 验证器验证我的域对象时,它会获得本地化的约束冲突消息和消息密钥。我调试了代码,在服务器端,无论客户端使用什么语言环境,都使用默认语言环境。我也没有在有效负载中找到任何语言环境设置。

是否有任何示例如何结合 RequestFactory 和 BeanValidation 处理本地化? 消息应该在客户端还是服务器端进行翻译? 最佳做法是什么?

谢谢!

【问题讨论】:

    标签: gwt internationalization bean-validation requestfactory


    【解决方案1】:

    我没有找到任何解决这个问题的蓝图,所以我实现了自己的机制。 我将当前选择的语言作为属性添加到标题中,并在服务器端从标题中读取语言。

    客户端:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-11
      • 2013-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多