JFinal的一个问题,想加入一个init自动方法结果失败
想法是这样的,首先 有个 base 类继承controller,然后base里面有个init方法,然后在拦截器里面写入以下代码来自动执行每个子类里面的init方法
...
Controller c = inv.getController();
Method method = c.getClass().getDeclaredMethod("init");
method.invoke(c);
...
结果执行的时候提示子类里面不存在 init 方法
而我改成这样,又能运行成功:
...
Base c = (Base)inv.getController();
c.init();
...
有点不太理解,我使用第一种方法为何不行呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
那应如何改进呢
回复
c.getClass().getSuperclass().getDec.....
init方法就是父类里 不在子类里
getDeclaredMethod("init"); 改成 getMethod("init");