4

こんにちは、Ajax を使用してデータベースからデータをフェッチし、GUI を最新の状態に保つ動的 Web アプリケーションを開発しましたが、IE8 でテストしているときにキャッシュの問題が発生しています。

webmvc-config.xml ファイルで次のコードを使用して、ブラウザーのキャッシュを停止しました。

<mvc:annotation-driven /> <mvc:interceptors> <bean id="webContentInterceptor" class="org.springframework.web.servlet.mvc.WebContentInterceptor"> <property name="cacheSeconds" value="0"/> <property name="useExpiresHeader" value="true"/> <property name="useCacheControlHeader" value="true"/> <property name="useCacheControlNoStore" value="true"/> </bean> </mvc:interceptors>

本来どおりに機能しますが、問題は、ブラウザーが明らかに何もキャッシュしないことです。私が知りたいのは、その xml コードを変更して、Web アプリの Ajax 部分 (5 つのコントローラー ファイルを使用して制御される) に適用する方法です。アイコンなどはまだキャッシュされていますか?これらのコントローラ ファイルへのパスは、「/admin/**」のようなものになります。

Spring WebContentInterceptor には「setCacheMappings」や「setPathMatcher」などのプロパティがあることは知っていますが、xml 構成ファイルで使用されているこれらの例をオンラインで見つけることができる場所はありません。

どんな助けでも大歓迎です、それは本当に私の頭をやっています..ありがとう。ジェイク

4

1 に答える 1

11

<mvc:interceptors>次のように、各インターセプターが適用される URL パスを制限できます。

<mvc:interceptors>
    <mvc:interceptor>
        <mapping path="/admin/*"/>
        <bean id="webContentInterceptor" ..... />
    </mvc:interceptor>
<mvc:interceptors>

それはすべてここで説明されています。

于 2011-02-02T00:48:47.930 に答える