2018-12-26 16:20
@静态代码块 jfinal 中的全局拦截分为 controller 层的全局拦截, 以及 controller 层之外的全局拦截,这个 controller 之外的我称之为业务层,并不太贴切区分一下:me. addGlobalServiceInterceptor(...)me.addGlobalActionInterceptor(...) 就好
2018-12-26 16:01
看一下 File not found 这个提示信息中的目录下面,是不是真的有 all.sql 这个文件你的配置需要改成下面的:activeRecordPlugin.getEngine().setToClassPathSourceFactory();activeRecordPlugin.setBaseTemplatePath(null);activeRecordPlugin.addSqlTemplate("sqls/all.sql");
2018-12-26 15:58
在jfinal 模板里面使用 for 循环跟 java 代码几乎没差别:#for ( x : list)#for ( i = 0; i < 10 ; i++)
2018-12-26 15:53
@静态代码块 me.addGlobalServiceInterceptor(...) 这个只针对业务层拦截器,控制层用的是 me.add(...)
2018-12-26 15:52
@fox 这里的本质是通过某种手段记下用户的动作,然后在做日志时根据前面手段中的记录来具体操作
2018-12-26 15:51
@roelay 这个只在开发时需要, 生产环境根本不会用到这个配置,放心使用
2018-12-26 15:49
@雄雄 关键是找不到原因,单步调试一下
@亢龙无悔 在本地搭好环境, 单步调是终极办法,这种问题容不得半点猜测
2018-12-26 14:56
看上去是浏览器地址栏直接请求了模板文件, 模板被渲染必须要先走 controller , 然后在 render 中被渲染出来
2018-12-26 14:55
这里的关键在于,你点击测试号 "提交" 的那一刻,要确定请求到达你的项目,并且单步调试一下看程序走向,应该是你的响应数据不对,注意,调试的时候由于响应太慢,微信服务器会认为超时,从而配置不正确所以,调试仅用于解决问题,此时的配置失败是正常的
2018-12-26 14:51
通过 inv.getMethod().getAnnotation(...) 这种灵活扩展 Interceptor 的方式在 jfinal 文档中都未提及,赞一个这种探索方案
2018-12-26 14:47
使用 outer 这个变量可以获取到上级 for 循环中的变量,例如:#for ( x : aa ) #for ( y : bb) #(outer.for.index) #(outer.for.counter) #(outer.for.size) #(aa[outer.for.index]) #(bb[for.index]) #end#end看一下文档中有关 for 指令的内容:https://www.jfinal.com/doc/6-4
2018-12-26 14:42
@fox log.logInfo(...) 是针对你在贴子中提到的下面的这句话:"后台有记录每次进入的信息, 但发现机器很灵敏,造成进入日志记录有重复"上面这句话里头有 "日志" 字眼,所以我当成是你要做日志,你只理解成一个抽象动作就好,具体怎么使用看你自己的需求
2018-12-26 14:41
添加一个配置:undertow.hotSwapClassPrefix=org.beetl.这个在文档中有过说明
2018-12-26 14:40
@mekain undertow.contextPath=/project-name