2020-01-20 16:34

去掉 group_concat 这个函数再试一下,可能是这个函数帮你截取了

2020-01-20 16:33

druid 检查你的 sql 有错误,注意修改一下

也可能是 druid 误报,可以升级一下 druid 版本试试

2020-01-20 16:31

getSqlPara 与数据源有关联,而数据源与 model 有关联,不太好处理这个问题

这个问题应该只会出现在极个别场景,况且没有映射 model 的情况应该使用 Db.template 或者 Db.getSqlPara

2020-01-20 16:26

html 中的资源路径要以 "/" 打头,否则是与你当前 url 有关的,这个是纯前端问题, jfinal 是无法干预的

2020-01-20 16:24

这个问题显然是 jfinal 无法干预的,是底层 JDBC 或者数据库认定你的 sql 是 sql 注入,改改 sql 或者数据库配置试试

2020-01-20 16:21

异常是在说 time out , 检查一下网络通道, 检查前方是否有 nginx 这类反向代理

2020-01-20 16:19

controller 不支持通配符,做一个 handler , 可以结合正则表达式,然后将 String target 这个参数映射到 controller 就实现了通配符功能

2020-01-17 16:02

@hzh740053757 ActionHandler 你可以继承一下,然后改掉里头的东西,最后配置一下:
public void configHandler(Handlers me) {
me.setActionHandler(new MyActionHandler());
}

通过上面的方式可以将 jfinal 默认的 ActionHandler 换成自己扩展实现的 MyActionHandler

jfinal 几乎所有的组件都是可以扩展的

2020-01-17 16:00

@北流家园网 java 的 Instrumentation 机制 + 定制 ClassLoader, 用这两套东西将 JVM 类加载接管过来,然后对于动态改变的 .class 文件进行重加载

重加载修改类并不是最麻烦的,最麻烦的事情是重加载类如果在内存中有对象实例,还需要将这些实例对象进行更新替换

jfinal undertow 用了 ClassLoader 通过重启容器来实现热加载,绕开了很多麻烦事

jrebel 这个第三方是专门实现热加载的,它做得比较细粒度,所以工作量极大,是一个很大的项目,可以参考一下

2020-01-16 20:57

@北流家园网 JVM 不支持热加载,需要通过别的机制

2020-01-16 19:39

如果你只改了 jar 代码,只需上传 innerVisitor-4.8.jar 覆盖掉服务器上的同名文件即可

如果你只改了模板文件,也只需要覆盖相应的文件即可

如果你希望每次部署不用重新打包,可以借助于 jenkins 这类持续集成工具,让打包部署自动化

2020-01-16 19:36

注意, webapp 路径在开发过程中是不需要指定的,是配置先天保障好的

2020-01-16 19:36

少了一个 webapp 路径,应该是项目配置有问题,也可能是 undertow.resourcePath 配置有问题,检查一下

2020-01-16 19:20

大概率是 undertow.txt 的路径不正确,确保以下几件事:
1:项目要是标准的 maven 项目结构
2:undertow.txt 文件放在 src/main/resources 目录之下

2020-01-16 19:00

将映射时的 "oauth/2.0/token" 改为 "oauth/20/token",也就是去掉小数点

然后用一个 Handler 做一下转换,将 String target 参数转换一下即可:
public class MyHandler extends Handler {
public void handle(String target ...) {
if (taget.startsWith("oauth/2.0/token")) {
target = target.replace("oauth/2.0/token", "oauth/20/token");
}
next.handle(...);
}

原因是 jfinal 会将带有小数点的 url 当成是静态资源,不会处理掉

上面的方案是将带小数点的 url 转成了不带小数点的,而 controller 被映射成了不带小数点的