2021-01-27 15:02

导入的关键是,一定要当成 maven 项目导入:
1:import
2:Maven
3:Existing Maven Project

注意导入前先配置好 maven :
https://jfinal.com/doc/1-1

2021-01-27 14:56

继承一下你需要用到的 Render,覆盖父类中的 render() 方法,放入自己的代码,然后用的时候这样:
render(new MyRender(....));

如果你希望在 render(String ...) 中用上 MyRender,可以继承 RenderFactory 覆盖 getRender(...) 来实现,最后要配置一下:
me.setRenderFactory(new MyRenderFactory());

你还可以在 BaseController extends Controller 中通覆盖或者新建 render 方法来用上你的 MyRender

2021-01-26 16:57

@zeroabc 之前的 undertow 版本一样有事,做事要细心

2021-01-26 16:25

浏览器发的请求中的 cookie 值含有一些无效控制字符: "invalid control characte"

打开浏览器开发者工具,将这些 cookie 删掉即可

显然是与 undertow 无关的

2021-01-22 15:45

@jf大哥大 静态资源在 fatjar 下面没有问题,下载首页的 jfinal demo,里面有一个打成 fatjar 的说明文件

2021-01-22 15:19

请求进入到了 filter,并且已经被 UrlSkipHandler 正确处理过了

后来出现的 404 是 tomcat 给出的,肯定就与 jfinal 无关了,你得让那些被 UrlSkipHandler 跳过的请求能被 tomcat 处理掉才可以

说白了就是你得让那些 url 的路径、文件名都要正确,否则 tomcat 必须要报 404

注意我的用词, 是 "必须" , 因为 tomcat 在找不到路径与文件的时候不出 404 是不行的

2021-01-22 15:14

扫描jar里面的action映射不需要改造,jfinal 新版本有这个功能:
https://jfinal.com/share/2311

其实,数据库映射也不需要扫描,因为生成器可以生成是映射,注意看文档

2021-01-21 15:37

你先找几位同学用起来,然后收集一下反馈

如果其他人不喜欢用生产出来不是最划算,剩下的价值就是你自己用着挺好

2021-01-21 01:02

注意上面代码中的 tableNameHashSet 中存放的是需要处理的 tableName 集合,只有在这个集合的才会被处理

你可以事先 new HashSet(),然后将你需要处理的 tableName 先放进去,这样就实现了你希望的功能了

2021-01-21 01:01

@liugz 其实是支持的, MetaBuilder 中提供了一个 skip 方法,可以这样:
MetaBuilder builder = new MetaBuilder(...);
builder.skip( t -> {
return ! tableNameHashSet.contains(t) ;
});

Generator gen = new Generator(...);
gen.setMetaBuilder(builder);
gen.generate();

skip 方法支持你传入一个函数,返回 true 表示跳过不当前 table 不处理,随心所欲定制

2021-01-21 00:57

如果list里某一个model里y没给值,那就放个null,这个肯定不行

因为数据表字段是可以有默认值的,例如 jfinal.com 大量的默认值为 0 或者 1 的情况

不指定值与指定 null 值是完全不同的概念

2021-01-21 00:56

放在 undertow 上与在 tomcat 上是一样的,当然是可以的

只需要处理好 session 共享就可以了,其实只需要弃用 session,而是将登录信息放在一个集中的数据库的 table 中就可以了

社区提供的 jfinal club 就是使用的 session 表方案:
https://jfinal.com/club

2021-01-21 00:54

目录没有登录、注册只是暂进的

最近没时间看社区,暂时隐藏

2021-01-19 22:37

估计是你的缓存配置了持久化,所以重新加载的时候要重磁盘加载数据

检查 ehcache.xml 中是不是有这种配置:
diskPersistent=true