开发者社区> 问答> 正文

JFinal CacheInterceptor 缓存如果是RenderJson就会报错??报错

java.lang.IllegalArgumentException: CacheInterceptor can not support the render of the type : com.jfinal.render.JsonRender 

@Before(CacheInterceptor.class)
public void status() {
      
      setAttr("status", model);

      renderJson();
}



我看了下源码

public RenderInfo(Render render) {
		if (render == null)
			throw new IllegalArgumentException("Render can not be null.");
		
		view = render.getView();
		if (render instanceof FreeMarkerRender)
			renderType = RenderType.FREE_MARKER_RENDER;
		else if (render instanceof JspRender)
			renderType = RenderType.JSP_RENDER;
		else if (render instanceof VelocityRender)
			renderType = RenderType.VELOCITY_RENDER;
		else if (render instanceof XmlRender)
			renderType = RenderType.XML_RENDER;
		else
			throw new IllegalArgumentException("CacheInterceptor can not support the render of the type : " + render.getClass().getName());
	}



这难道是说ehcache不能自动帮我缓存JSON么?

请大神们指点哈!

展开
收起
爱吃鱼的程序员 2020-06-14 20:05:11 577 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    @Before(CacheInterceptor.class)

    CacheKit.put("WxMessage","WxMessage",_list);

    CacheKit.get("WxMessage","WxMessage"); 试试用  CacheKit里面的方法吧



    1.9之前是可以的!我也遇到这个问题jfinal1.9暂不支持JsonRender的缓存,jfinal2.0将添加该支持。目前你可以先用一下CacheKit做一下谢谢热心的大神们~
    2020-06-14 20:05:27
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
基于英特尔 SSD 的虚拟机缓存解决SSD 立即下载
用户态高速块缓存方案 立即下载
高性能Web架构之缓存体系 立即下载