2019-06-11 15:43

@jiangkeju 这种情况参考一下 TableBuilder 中获取 table 信息的代码

2019-06-11 12:45

问题很可能出在 ClassScaner 之中,这个不是 jfinal 官方提供的,可能有很多问题

建议改成 jfinal 官方的路由用法,很多好处,例如 Routes 级的 view path 以及 Interceptor 非常有用

2019-06-11 12:43

@小辉大大 用 Map map = FastJson.getJson().parse(jsonString, Map.class) 就好

2019-06-11 12:23

这个问题还是第一次碰到,在我的记忆里,断网是没有问题的,因为我以前用 jetty-server 开发的时候经常断网开发项目

我的建议是这样的:
1:检查 jetty-server 的依赖配置,要使用 jetty-server-2019.3 这个版本
2:检查 pom.xml 文件,去除一切 jetty 有关的依赖
3:在 eclipse 中打开 pom.xml 文件底部的 Dependency Hierarchy 视图,看看是不是有别的项目对 jetty 有依赖。 我怀疑是别的模块在发送网络请求

总方向就是:找出那个发送网络请求的地方,去掉它

以前还有人反馈过这类相似的问题,那就是 pom.xml 还是 web.xml 还是 ehcache.xml 文件,在头部有一个配置,这个配置让其去发起网络请求对 xml 进行校验

上面谈到的文件,我不记得是 ehcache.xml 还是 web.xml 还是 pom.xml 文件了,这种情况只需要改一下 该文件头部的 顶层标签中的一些值就可以了

例如, pom.xml 中顶部的标签是 《project xmlns="http://maven.apache.org/POM/4.0.0" ......》 这种东东

你也可以通过对比上述三个文件与别的不出问题的文件是否有所不同来解决

2019-06-11 11:40

@jiangkeju 这个确实是,这种情况可以通过使用 Model 来获取所有字段名,例如:
Table table = TableMapping.getTable(modelClass)
Set《name》names = table.getColumnNameSet();

2019-06-11 11:37

在 gitee.com 以及 github 里面用关键词搜索一下,这两个地方光是基于 jfinal 的开源项目就有几千个

2019-06-11 11:36

@puzzle 更灵活的存储过程使用方式,见文档:
https://www.jfinal.com/doc/5-16

2019-06-11 11:34

这个建议很好,已添加并提交:
https://gitee.com/jfinal/jfinal/commit/cbe3a64e57d05dda7ec0c09ab746d58f1adb9ab6

感谢反馈

2019-06-11 11:23

@j1066783215 对 url 进行一个 encode 操作,再传入参数即可

2019-06-11 11:22

@李通 出异常的那个 model 没有被映射,所以会出异常

2019-06-11 11:08

@happyboy 只要你能做个可以在我本地重现的 demo , 一切都好解决

2019-06-11 09:46

@j1066783215 这个事太奇怪了,麻烦将相关代码放在这个贴子中,我在本地看看能不能重现问题

发贴内容可以修改,在这里修改:
http://www.jfinal.com/my/feedback

2019-06-11 09:43

方案二确保一下你自己的代码在写文件时没有并发问题

例如,你的某处代码需要写某个文件,那么就要考虑并发写的问题。如果全是读文件就没有问题

采用方案二的时候要注意 jfinal.sh stop 关闭项目的问题,该命令是通过判断你项目的目录来关闭的,所以方案二在用这个脚本关闭项目的时候会将两个启动的项目一起关掉

方案一之下,你所说的文件上传问题,jfinal 多年前就做好了相关功能。你只需要配置一下:
me.setBaseUploadPath(...)

将这个 baseUploadPath 配置成一个绝对路径就可以指向项目根之外的地方,例如:
me.setBaseUploadPath("/var/www/upload");

此时,如果希望 jfinal undertow 可以将上传的文件当成 web 资源在浏览器中访问到的话,可以添加这个配置:
undertow.resourcePath=src/main/webapp, /var/www/upload

以上配置中可以用逗号分隔开多个目录,同时支持开发环境与生产环境的文件上传目录

当然,如果你前端用 nginx 接管了静态资源的访问,上面的配置可以不需要,而是在 nginx 中配置资源路径

建议使用方案二,因为更省事,升级也更方案,只需要升级一个项目即可。 方案二需要处理好 jfinsh.sh 中的 stop 函数,当然,如果你不介意一次性关闭当前项目的所有进程,也不用修改

2019-06-11 09:30

已经修改了文档 url 中的页号,谢谢反馈

2019-06-10 23:11

@124653847atqq.com 这个必然可以,做一个 Handler , 然后将 handle(request, response, isHandler) 中的 request 对象弄个包装类,覆盖掉其中的几个 getSession() 方法,返回一个你自己包装过的 session

让这个包装过的 session 存取数据使用 redis 即可

可以看一下 jfinal 中的这个类,里头就扩展过 session :
https://gitee.com/jfinal/jfinal/blob/master/src/main/java/com/jfinal/ext/interceptor/SessionInViewInterceptor.java