キャッシュインターセプター


CacheInterceptor は、アクションに必要なすべてのデータをキャッシュできます。次のリクエストが来たときにキャッシュが存在する場合、データはアクションを呼び出すことなく直接使用され、レンダリングされます。この使用法により、アクションをキャッシュ関連のコード汚染から完全に解放し、プラグ アンド プレイにすることができます。以下はサンプル コードです。ブログ。dao.find("select * from blog"); ユーザー user = User.dao.findById(getParaToInt());

setAttr("user", user); blog.html");
}


上記の例の使用法では、actionKey をキャッシュ名として使用します。使用する前に、ehcache.xml で actionKey で名前を付けたキャッシュを構成する必要があります (例: <cache name="/) blog/list" …> ;、actionKey がキャッシュ名として設定されている場合、スラッシュ "/" は省略できないことに注意してください。さらに、CacheInterceptor を CacheName アノテーションとともに使用して、デフォルトの actionKey を actionName として置き換えることもできます。サンプル コードは次のとおりです:

@Before(CacheInterceptor.class)
@CacheName("blogList")

public void list( ) {

List<Blog> blogList = Blog.dao.find("select * from blog");
render("blog.html");
}


上記の使用法ehcache に存在する必要があります。 <cache name="blogList" ...> のように、.xml で blogList という名前のキャッシュを構成します。