基本上,是否可以这样做:
@Cacheable(cacheName="default")
@RequestMapping("getContent/{name}")
public String getContentByNameHandler(@PathVariable String name, Model model) {
ContentService contentService = domainService.getContentService();
model.addAttribute("model",contentService.getContentByName(name));
return RESOURCE_FOLDER + "content";
}
当我尝试这个时,视图被缓存,但是在简单的jsp视图渲染逻辑完成之后,jsp的唯一内容是从缓存返回,而不是jsp视图。我在春季3.0.7,所以仍然使用ehcache-spring-annotations(http://code.google.com/p/ehcache-spring-annotations)
答案 0 :(得分:1)
@Cacheable
只需根据所有输入参数形成一个键,然后将返回值放在该键下即可。
因此它不会存储已处理的视图 - 它只会存储视图名称。
通常,您使用浏览器缓存而不是服务器端缓存。而且由于渲染视图应该比生成内容少,因此您需要在服务方法上添加@Cacheable
。