3

私のアプリケーションでは、ログインページのページ上部に言語オプションがあります。

言語オプション

中国語を選択すると、すべてが完全に中国語に翻訳されます。

中国語

RefreshボタンまたはをクリックCtrl + Rしても、ページはまだ中国語です。ただし、同じURLに移動する別のタブを開くと、言語オプションChineseで選択されたものが表示されていても、すべてが再び英語になります。

再び英語

それでも、About usまたはをクリックするMethodologyと、次のページは本来の中国語に戻ります。

ここで私が間違ったことを教えていただければ幸いです。

よろしくお願いします、

4

1 に答える 1

2

のロケールの設定方法に明らかに問題がありますUIViewRoot

これは<f:view locale>、マスターテンプレートで次のように実行する必要があります。おそらく、他のすべてのページに対してこの権利がありますが、ホームページに対してはそうではありません。

例えば

<!DOCTYPE html>
<html lang="#{localeBean.language}"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    ...
>
    <f:view locale="#{localeBean.locale}">
        <h:head>
            ...
        </h:head>
        <h:body>
            ...
        </h:body>
    </f:view>
</html>

これに似て#{localeBean}いるものはどこにありますか。@SessionScoped

ちなみに、この問題は、ページが共通のマスターテンプレートを共有しておらず、XHTMLコードをあちこちで複製していることを示しています。私もそれに取り組みます:)

于 2012-06-05T12:45:12.370 に答える