首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
过滤器参数获取问题
谢
2020-10-29 10:57
在使用缓存过滤器的时候,遇到个问题
看代码是用ActionKey和参数组合作为缓存的key
但我在用的时候发现 getPara 是空的,那么方法每一次进入的时候只能拿到第一次缓存的数据。
项目:
JFinal
评论区
JFinal
2020-10-29 11:40
上面的代码给出了一些调用的结果,你具体的需求是什么?修改原文补充一下
回复
谢
2020-10-29 12:15
@JFinal
波总,是使用CacheInterceptor的问题,getPara获取不到参数。
回复
JFinal
2020-10-29 12:35
@谢
请求 URL 为 /admin/bus/new/listJson,这里头没有传递 urlPara,所以肯定是空
NewController.listJson() 这个方法没有形参,所以 inv.getArgs() 也必定是空的
而你的参数也不是问号挂参,所以 getQuerString() 也必定是空的
从控制台的输出来看,你传递的参数需要通过 get("status)、get("page) 等方法获取
当然,你可能不希望这么来获取,因为无法动态化,所以你可以通过继承 CacheInterceptor, 覆盖一下 buildCacheKey() 方法,使用类似下面的办法得到动态的参数:
Map paraMap = controller.getParaMap();
然后将上面的 paraMap 转换成 cacheKey , return cacheKey 即可
回复
JFinal
2020-10-29 12:36
这里有些知识点,需要了解: urlPara、queryString
回复
谢
2020-10-29 13:56
@JFinal
明白了,谢谢...
回复
发送
我要反馈
热门反馈
扫码入社