2016-03-27 20 views
2

Struts 2バージョン2.3.28では、i18nインターセプタは、jvmに登録されているロケールを受け入れます。リストはLocale.getAvailableLocales()によって返されます。Struts 2(バージョン2.3.28)は登録済みのロケールのみを受け入れます

まあ、How to extend the list of available Java Localesのように、使用可能なJavaロケールのリストを拡張することはできますが、すべての文字列をロケール(たとえばfa_IR)として受け入れるようにこのインターセプタを設定する方法は簡単ですか。ただ、ノート

fa_IR<constant name="struts.locale" value="fa_IR" />)にデフォルトのロケールの設定が正常に動作します。

答えて

1

いいえ、あなたは

protected Locale getLocaleFromParam(Object requestedLocale) { 
     Locale locale = null; 
     if (requestedLocale != null) { 
      locale = (requestedLocale instanceof Locale) ? 
        (Locale) requestedLocale : 
        LocalizedTextUtil.localeFromString(requestedLocale.toString(), null); 
      if (locale != null && LOG.isDebugEnabled()) { 
       LOG.debug("applied request locale=#0", locale); 
      } 
     } 

     if (locale == null) { 
      locale = Locale.getDefault(); 
     } 
     return locale; 
    } 
+0

おかげで、 '場合(ロケール== nullの)'なステートメントがあまりにも削除しなければならない、またはそれは常に設定されますがi18nを拡張し、独自のインターセプタを作成し、このメソッドをオーバーライドする必要がありますデフォルトに:) –

関連する問題