CacheIntercepteur


CacheInterceptor peut mettre en cache toutes les données requises par l'action. Si le cache existe lors de la prochaine requête, les données seront utilisées directement et rendues sans appeler l'action. Cette utilisation peut rendre l'action totalement exempte de pollution de code liée au cache, plug and play, voici l'exemple de code :

@Before(CacheInterceptor.class)
public void list() {
List<Blog> Blog. dao.find("select * from blog"); Utilisateur user = User.dao.findById(getParaToInt()); setAttr("blogList", blogList);
setAttr("user", user render("); blog. html");
}

L'utilisation dans l'exemple ci-dessus utilisera actionKey comme cacheName. Avant utilisation, vous devez configurer le cache nommé avec actionKey dans ehcache.xml, tel que : <cache name="/ blog/list" …> ;, notez que la barre oblique "/" ne peut pas être omise lorsque actionKey est configuré en tant que cacheName. De plus, CacheInterceptor peut également être utilisé avec l'annotation CacheName pour remplacer l'actionKey par défaut comme actionName. Voici l'exemple de code :

@Before(CacheInterceptor.class)
@CacheName("blogList")
public void list(. ) {
List<Blog> blogList = Blog.dao.find("select * from blog"); setAttr("blogList", blogList);
render("blog.html");
}

L'utilisation ci-dessus doit être dans ehcache Configurez le cache nommé blogList au format .xml, tel que : <cache name="blogList" ...>.