2022-04-21 22:43

jfinal 4.9.23 的 #para 指令新增了对 like 的支持,map 传参用法如下:
select * from t where title like #para(title, "like")
Java 代码如下:
Db.template(sqlKey, Kv.of("title", "article title here").find();

int 传参用法如下:
select * from t where title like #para(0, "like")
Java 代码如下:
Db.template(sqlKey, "title 参数值").find();

#para 指令还支持另外两种模式:
#para(xxx, "%like")
#para(xxx, "%like%")

此外还支持 in 参数:
select * from t where id in #para(idList, "in")
java 代码如下:
List idList = service.getIdList();
Db.template(sqlKey, Kv.of("idList", idList).find();

最终一个 #para 实现了三种传参方式:传统 + like + in

2022-04-21 22:42

猜测是一个 getBigDecimal(int) 方法,而调用的时候传入了 long 型参数:getBigDecimal(long)

但你提问信息中没有透露是哪里抛出的这个异常,今天心情不算差,暂且为你猜了一下

2022-04-21 22:39

ajax 获取到的数据是 data={name:"123"} ,那后续全是前端的事了

后端看能不能带上对象结构,传回来: data={o: {name:"123"}}

2022-04-19 21:07

@北流家园网 #(o.ename??) 在 o 不为 null 的时候,不需要??操作符,不会抛异常

a.b.c.d.e 这种表达式的最后一级允许 e 为null,但前面的几级不允许,但是多级可以只需要一个 ?? 操作符,例如:
a.b.c.d.e ??

原因之一是为了减少出开发者手误的概率,还有一些别的原因,有点不记得了,当时是有一些别的考虑,好像有性能的考虑,不太记得了

2022-04-13 00:54

在 BaseController 中封装一个 getAttrs() 方法返回所需数据,然后这样用:
String html = renderToString("common.html", getAttrs());//得到模板渲染后的html
//对html做额外处理。。。
renderHtml(html);//输出html

2022-04-05 21:54

@山东小木 红色的有点刺表我调成了这个色:D55FDE。该色与 One Dark Them 的java 关键字使用的是同一个颜色

除了 D55FDE 你还可以试试这几个色:
E5C07B 黄色,不太显眼
D19A66 黄色,不太显眼
E06C75 淡红,一般般
EF596F 太红
FF6347 更红,最开始使用的

2022-04-05 20:30

@zhenquande 没错没错,就是这么玩的,我一般打开两到三个 vscode

现在玩 idea 也是同样的方式 文件 =》 打开。如果以前打开过,就直接 文件 =》 打开最近的文件

2022-04-01 13:02

@冰雨 工测试了一下,重新编译只是删掉了被修改过的java代码对应的.class文件,不会删掉其它没有变动的文件,更不会删掉整个 classes 目录

你再仔细测试一下,有一个简单的办法是看一下 .class 文件的创建时间、修改时间

记得回来反馈一下

2022-03-27 14:33

@hzh740053757 能否拿到生成的主键? 尤其是在事务中执行的时候

2022-03-25 20:16

@hzh740053757 你那里可以返回 id, 并不是 batch 操作吧?

2022-03-24 19:03

batchSave 操作不支持取回生成的主键值,我记得是 JDBC 在底层没有支持

2022-03-09 12:28

@rocker18 以下配置可以看出来:
ssl_certificate cert/20200618_www.jfinal.com.pem;
ssl_certificate_key cert/20200618_www.jfinal.com.key;

是放在 /etc/nginx/cert/ 下

2022-03-04 19:24

@旋转空竹 现在一般都不玩容器自己的 session 了,容器的 session 断电重启后会丢失

如果访问量大,可以用 redis,单体项目可以用 ehcache 这类支持持久化的缓存

我一般会将 session 存到数据库(存放过期时间、sessionId、userId),然后中间用缓存提速

2022-03-04 18:24

文档中都有:
https://jfinal.com/doc/1-4

6、配置 session
# session 过期时间,注意单位是秒
undertow.session.timeout=1800
# 支持 session 热加载,避免依赖于 session 的登录型项目反复登录,默认值为 true。仅用于 devMode,生产环境无影响
undertow.session.hotSwap=true