buildCacheKey 建议改为:
ArrayList<String> list=Collections.list(controller.getParaNames());
list.remove("_i");
if(list.size()>0){
Collections.sort(list);
sb.append("?");
for (String name : list) {
sb.append(name+"="+controller.getPara(name)+"&");
}
sb.deleteCharAt(sb.length()-1);
}
return sb.toString();
原因是 原版的: 不能识别 ?a=1&b=2 和 ?b=2&a=1
会缓存两次