CacheInterceptor


CacheInterceptor boleh cache semua data yang diperlukan oleh tindakan Jika cache wujud apabila permintaan seterusnya datang, data akan digunakan terus dan diberikan tanpa memanggil tindakan. Penggunaan ini boleh menjadikan tindakan itu benar-benar bebas daripada pencemaran kod berkaitan cache, pasang dan mainkan, berikut ialah kod sampel:

@Before(CacheInterceptor.class)
public void list() {
List<Blog> Blog. dao.find("pilih * dari blog"); blog. html");
}
Penggunaan dalam contoh di atas akan menggunakan actionKey sebagai cacheName. Sebelum digunakan, anda perlu mengkonfigurasi cache yang dinamakan dengan actionKey dalam ehcache.xml, seperti: <cache name="/ blog/list" …> ;, ambil perhatian bahawa garis miring "/" tidak boleh ditinggalkan apabila actionKey dikonfigurasikan sebagai cacheName. Selain itu, CacheInterceptor juga boleh digunakan dengan anotasi CacheName untuk menggantikan actionKey lalai sebagai actionName Berikut ialah kod sampel:

@Before(CacheInterceptor.class)
@CacheName("blogList")
public void list(. ) {
List<Blog> blogList = Blog.dao.find("select * from blog"); setAttr("blogList", blogList);
render("blog.html");
}
Penggunaan di atas perlu berada dalam ehcache Konfigurasikan cache bernama blogList dalam .xml, seperti: <cache name="blogList" ...>.