2022-07-01 15:15
@azzcsimp 明白你的意思了,项目如果是Tomcat运行,是class运行,上面写是没有问题,优先加载的 WEB-INF/classes文件。 如果是jfinal-undertow运行的话,最后项目class也会被打为jar,加载的时候就会报错。 推荐自建一个 BaseController 里面覆写 getFiles 系列方法,new 自建的类就可以了,文件上传前面就不再拦截了
2022-06-30 14:53
@azzcsimp multipart/form-data HTTP格式里面请求数据是用分隔符分隔的,又不是JSON格式的,所以你那个EpRequestWrapper里面需要支持application/json的同时也要支持multipart/form-data 格式
2022-06-29 18:38
试试这样写
String contentType = request.getContentType();
if( contentType != null && contentType.toLowerCase().contains("multipart/form-data")){
if (request instanceof MultipartRequest == false)
request = new MultipartRequest(request);
List files = ((MultipartRequest)request).getFiles();
}
next.handle(target, request, response, isHandled);
2022-06-29 18:14
@zzutligang .save() 生成SQL的时候会自动过滤,不会放入数据库。
Model对象有没有多余字段无所谓,临时对象。
如果想知道哪些是保留字段,可以调用 CPI.getModifyFlag( myModel ) 获取到
2022-06-21 14:44
@zeroabc 这个有啥放的,在handle里面 next.handle 之前放serTL(),之后removerTL()就可以了,ActionHandler里面 render 执行时就可以拿到值了。Invocation不行,因为它在render之前invoke运行完毕了。所以你上面代码换成handle最合适了
https://jfinal.com/doc/2-7
2022-06-15 14:41
@azzcsimp 使用 extends Handler 进行替换 HttpServletRequest
request = new EpRequestWrapper(request);
next.handle(target, request, response, isHandled);
https://jfinal.com/doc/2-7
因为 args参数值 比拦截器intercept 先执行,ParaProcessor 使用的还是未解密的request对象。
this.args = action.getParameterGetter().get(action, controller);
所以使用Handler即可。
2022-06-09 09:19
@小菜鸟啊啊啊 NoClassDefFoundError就是没有这个类。没用maven管理吧? 手动管理jar的话,下载下面这个zip,里面有个redis文件夹,把里面的jar 都拷贝到项目就可以了。
https://jfinal.com/download/now?file=jfinal-5.0.0-all.zip