2010-11-08 8 views

Répondre

23

essayer (avec la modification des valeurs)

<mvc:resources mapping="/static/**" location="/public-resources/" 
     cache-period="31556926"/> 
<mvc:annotation-driven/> 

Vous pouvez également utiliser un intercepteur:

<mvc:interceptors> 
    <mvc:interceptor> 
    <mvc:mapping path="/static/*"/> 
    <bean id="webContentInterceptor" 
     class="org.springframework.web.servlet.mvc.WebContentInterceptor"> 
     <property name="cacheSeconds" value="31556926"/> 
     <property name="useExpiresHeader" value="true"/> 
     <property name="useCacheControlHeader" value="true"/> 
     <property name="useCacheControlNoStore" value="true"/> 
    </bean> 
    </mvc:interceptor> 
</mvc:interceptors> 

Voir la MVC docs

+1

Une petite correction, la balise correcte est "mvc: mapping" au lieu de "mapping", c'est-à-dire, la balise complète correcte est:

+0

que devrais-je utiliser? actuellement dans une situation où j'ai les deux, et je me demande si les deux sont nécessaires.Semble comme je devrais choisir l'un ou l'autre.Y at-il des avantages en utilisant mvc: ressources élément? –

+1

En cas de '304' également client envoyer un HTTP demande au serveur alors comment cela profite – manish

1

Si Spring 3.0 est utilisé, <mvc:resources> est un moyen d'implémenter la mise en cache des ressources statiques. This link a de la documentation.