2020-10-13 15:07

@AlienJunX 基本上正确,但不止这些考虑。

核心目标是没错的:jfinal 的生态之梦

2020-10-12 21:07

@sioui 首先,出台了 app&coffee 规范,对项目的立项、设计、代码质量有严格要求

所有项目都要通过严格审核才能上架,目前还没有通过审核的,所以只上了官方的

2020-10-12 18:27

@cicicv 现在只是个开始,App & Coffee 频道会打造各种各样可直接使用的 application,将开发效率再提升一个层次

后续要打造的 application 已在开发列表之中

2020-10-12 18:25

1:如果用了 sql 模板功能中的 #para:
select * from article where title like concat('%', #para(title), '%')

2:如果是纯 sql:
select * from article where title like concat('%', ?, '%')

这里有过介绍:
https://jfinal.com/doc/5-13

感谢支持 App & Coffee

2020-10-12 18:24

支持 jsp 需要添加额外的依赖,注意在 IDEA 之下,要去掉依赖中的 scope 》 provided

ecilpse 下可以是 provided,打包时又要注意将它改成 provided,否则会将这些 jar 包打进去。部署到 tomcat 的时候是不需要这些依赖的

最后,强烈建议切到 jfinal undertow, 当然如果你要用 jsp ,还是得用 jetty-server 来开发

起码你可以升级到最新版本的 jetty-server:
https://gitee.com/jfinal/jetty-server

这里有使用文档:
https://jfinal.com/doc/1-6

最后,如果你要在浏览器中直接访问 .jsp 文件,对于高版本的 jfinal 注意要配置:
// 配置是否拒绝访问 JSP,是指直接访问 .jsp 文件,与 renderJsp(xxx.jsp) 无关
me.setDenyAccessJsp(true);

这个配置在文档中有说明:
https://jfinal.com/doc/2-2
https://jfinal.com/doc/14-1

默认没有开启直接访问 .jsp 文件的权限,是因为黑客可以想办法上传 .jsp 文件到你的应用中,然后直接请求该 jsp 来攻击你的系统

2020-10-12 16:34

@海哥 来一个极度轻量级单机版本的 jpress,可取名叫 jpress-lite、jpress-pure、jpress-fly。 这样能确保学习成本最低,确保可立即二次开发

@山东小木 要上的 app , 我也要求去除了 jbolt ,确保学习成本与二次开发效率

app & coffee 规范有这个要求,要贴近 jfinal 做 application

2020-10-11 15:14

@zzutligang 你先用上 arp.setDialect(new AnsiSqlDialect());

多数功能是支持的

2020-10-11 15:12

只要是 JDBC 可以的,jfinal 一定可以,建议如下两种使用方法:

1:如果用了 sql 模板功能中的 #para:
select * from article where title like concat('%', #para(title), '%')

2:如果是纯 sql:
select * from article where title like concat('%', ?, '%')

总之,要用 concat,更专业

这里有过介绍:
https://jfinal.com/doc/5-13

2020-10-11 14:22

@chance_xym jfinal admin 基于 jfinal-kit.js 开发,开发起来会很快

周一发布 jfinal 4.9.02 以后,当晚就开始开发

2020-10-11 14:21

@prelove app & coffee 承载了 jfinal 的 "生态梦",现在只是一个开始,有利于生态的项目会逐步添加

例如你提到的 ES, 这个需求量很大

当前的优先级是俱乐部新福利,一步步来

2020-10-10 18:09

@花开堪折Orz 我建议你只抽取 MailKit 中与 email 发送有关的代码自己用, 里面有一些封装,细节你可能不知道,容易出问题

这个 MailKit 不是 jfinal 官方推出的,我只能猜测这些信息给到你

2020-10-10 18:07

@自律的心呀! 拿铁半糖咖啡,我很喜欢 ,喝着写代码超爽

2020-10-10 17:02

再回看了一下你的代码,注意下面的代码:
RenderManager.me().getRenderFactory().getRender(viewPath).setContext(request, response).render();

这个证明 render 已经完成了,所以,你应该去除你自己代码中的:
renderText(...)

一次交互只能 render 一次

2020-10-10 16:59

@花开堪折Orz 单步调试一下, request、response 都需要是正常的才可以

2020-10-10 16:47

估计你是新开了一个线程在调用这个 action

controller 中的 action 只有在被 jfinal 框架调用的时候在内部拥有正确的 request、response 对象