2019-06-26 17:27
@CliveNo.1 有不少人碰到过这个问题,解决的时候,无一例外,全都是客户端的事,与 jfinal 这端完全无关
jfinal 这端只有 getFile() 这个 API,只需要注意,如果同时要传参的话,先调用 getFile() 后调用 getPara()
2019-06-26 17:25
@江流儿0526 忘了一件大事,那就是 jfinal 的 JFinalFilter 默认会接管所有请求,所以需要你自己添加一个 handler 跳过这些 url :
configHandler(Handler me) {
me.add(new UrlSkipHandler("/myServlet", true));
}
如果这类映射多的话,可以为 UrlSkipHandler 传入正则表达式,用于跳过匹配到正则的 servlet
还可以参考 UrlSkipHandler 来实现自定义的 Handler 来跳过这些 URL
2019-06-26 16:03
@江流儿0526 表面上看是没有什么问题的,再细心排查一下,例如是不是 eclipse 的自动编译没有开启,造成了修改的代码没有生效等等问题
2019-06-25 18:16
@flash866 如果是调用 Controller 中的 _init_(...),新版本提供了独立的 API 来支持这个功能:
com.jfinal.core.CPI._init_(Controller controller, Action action, HttpServletRequest request, HttpServletResponse response, String urlPara)
如果是调用你自己的 BaseController 中的 init() 方法,只需要强制转换为 BaseController 再高用即可:
if (inv.getController() instanceof BaseController) {
BaseController bc = (BaseController)inv.getController();
bc.init();
}
这样做的性能才是最高的,你目前的方法用的是反射,性能会低很多