2018-04-26 11:50
可以配置外键的级联删除,程序就不用处理中间表记录的删除工作了但很多项目都没有做外键关联,也就更谈不上在外键关联的基础上做级联删除了。jfinal 之下,建议用 Db.delete("delete from role_user where roleId = ?", roleId) 这种方法删除数据jfinal 不支持配置,需要手写一点代码,表关联的用法可以看看这里:http://www.jfinal.com/doc/5-10
2018-04-26 11:48
PathKit.getWebRootPath()
2018-04-25 20:11
注意一下 myisam 引擎下执行 update 会造成表级锁jfinal 所有数据库操作是直接转交给 JDBC 的,jfinal 对于数据库性能没有干预过,碰到性能问题一是从数据库上找,二是检查 sql 是不是本身就慢
2018-04-25 17:37
这个与 jfinal 没有关系,只与你运行 jfinal 的 tomcat jetty 这两个东东运行时的权限有关有些人会让 tomcat jetty 运行在 root 权限之下,那么上传的东东就是 root 的
2018-04-25 17:36
重点在于,自己如果在 Handler 中处理过了,并且不想让 tomcat jetty 处理本次请求,得用下面一行代码:isHandled[0] = true;
2018-04-25 17:35
大致改成下面的结构即可:if(target.matches(regHtml)){RenderManager.me().getRenderFactory().getRender(target).setContext(request, response).render();isHandled[0] = true; } else {next.handle(target, request, response, isHandled);}
2018-04-25 17:33
总体上来说,只需要将 target 中的 path var 转换成 jfinal 的 urlPara 就可以了,然后在 action 中可以通过 getPara(int) 来获取
2018-04-25 17:31
这个功能需要使用 Handler 来实现,用拦截器无法实现,Handler 的 handle 方法中第一个参数 String target,只要去改变这个 target 的值就可以实现具体可以参考一下 com.jfinal.ext.handler 中的用法
2018-04-25 13:46
baseViewPath 是固定不变的,可以用一个拦截器实现,大致如下:public void intercept(Invocation inv) {inv.invoke();Render r = inv.getController().getRender();if (r instanceof TemplateRender) {TemplateRender render = (TemplateRender)r;render.setView(在这里改变 view1 为 view2);}}
2018-04-25 13:43
@cyf123 单步调试找出原因,问题的本质了解清楚了, 还出这个问题显然是不能靠猜解决的
2018-04-25 12:40
@cyf123 这个表需要指定主键,因为 active record 设计模式依赖主键的存在,否则 model.save() model.update() 等方法就不知道是对哪个记录进行操作了如果确实不想增加主键,可以使用 Db + Record 模式来操作这张表,也很方便,通常一些关联表用 Db + Record
2018-04-24 21:02
@jim19770812 进入个人空间,再点击我的分享,再点一下右侧列表中的修改就可以修改了
2018-04-24 19:51
已提交 issue,会核实并处理:https://gitee.com/jfinal/jfinal-weixin/issues/IJBHU感谢你的反馈
2018-04-24 12:48
详细异常信息要在控制台去看,如果控制台也没有输出,得配置好 log4j.properties 文件,在首页下载 jfinal demo,里头有现成的配置文件可以直接用
2018-04-23 21:14
比 jfinal demo 要完善很多,感谢分享