1

このシンプルな構成を使用します

    <beans:bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <beans:property name="basename" value="classpath:localization/messages" />
        <beans:property name="defaultEncoding" value="UTF-8" />
    </beans:bean>

    <interceptors>
        <beans:bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
            <beans:property name="paramName" value="lang" />
        </beans:bean>
    </interceptors>

    <beans:bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
        <beans:property name="defaultLocale" value="en" />
        <beans:property name="cookieMaxAge" value="100000" />
    </beans:bean>

うまく機能しますが、誰かが URL を他の誰かに送信した場合はどうなるでしょうか? これはクライアント ブラウザでのみ機能します。ユーザーがローカライズを変更すると、Cookie が設定されます。URL の最初のスラッシュの後にローカライズされている Web サイトをたくさん見てきました (例: nette.org/en/about)。誰かがこのリンクを送信すると、URL に応じてローカライズが解決されます。春のフレームワークでこれを行う簡単な解決策はありますか? どういうわけか、この場所を URL にマップしますか?

4

1 に答える 1

-1

CookieLocaleResolverの代わりにSessionLocaleResolverを使用します

    <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
        <property name="defaultLocale" value="en"/>
    </bean>

これで問題は解決すると思います。

乾杯。

于 2012-05-19T09:21:51.763 に答える