public class Route extends Routes {
    @Override
    public void config() {
        /**
         * 后台路由配置
         */
        addInterceptor(new TokenInterceptor());
        add("/admin/auth", AuthController.class);
        add("/admin", HomeController.class);
        setBaseViewPath("/WEB-INF/views");
        add("/admin/swagger", SwaggerController.class);
    }
}
public class ManageServices {
    private final Logger logger = Logger.getLogger(ManageServices.class);
    private Admin admin=new Admin();
    private Cache platform = Redis.use("platform");
    public void setRedis(int roleId)
    {
        try {
            List<String> authorities=new ArrayList<>();
            authorities.add("oss:upload");
            List<Record> records= Db.find("select a.authority from t_menu a \n" +
                    "where id in(select menuid from t_permission where code=?)\n" +
                    "and a.authority is not null",roleId);
            for (Record r:records)
            {
                authorities.add(r.getStr("authority"));
            }
            System.out.println(JSONObject.toJSON(authorities));
            System.out.println(platform.exists("permission:"+roleId));
            //platform出现空指针错误
            platform.set("permission:"+roleId,JSONObject.toJSON(authorities));
        }catch (Exception e)
        {
            System.out.println(e);
        }
    }
    
}好像在路由配置中添加拦截器后
private Cache platform = Redis.use("platform");//无法实例化但在每个方法体内 platform = Redis.use("platform"); 正常,总不能每次创建都做实例化吧
 项目:JFinal
 
 
 
 
 
 
 
configConstant(Constants me){me.setConfigPluginOrder(1); 就可以了