2019-07-08 12:35

https://www.jfinal.com/doc/5-7
抛异常就可以了, NestedTransactionHelpException
https://gitee.com/jfinal/jfinal/blob/master/src/main/java/com/jfinal/plugin/activerecord/tx/Tx.java

JF建议优先使用 Db.tx(...) 做数据库事务

2019-07-04 22:28

@userName_is_null 看你这写法, 就知道没有弄清楚, 什么代码是在服务器执行的, 什么代码在浏览器中执行的, 两者概念被混淆了. JF模版代码是在服务器执行的. layui.table是JS在浏览器中运行的. 所以你这个写法就是错误的使用

2019-07-03 22:21

因为 Java是强类型语言, 所以模版用的还是Java代码, 像这种很多拼接的, 就应该建一个组件函数, 这样用起来会爽很多的. 比如:
#define radio(name, value, map)
#for(x : map)
<input type="radio" name="#(name)" value="#(x.key)" title="#(x.value)" #(x.value==value?'checked':'')>
#end
#end
调用时:
#@radio('status', consultRecord.status.toInt()??, {1:'成功沟通', 2:'拒绝沟通/拒接'})

2019-07-03 13:43

consultRecord.status.toInt() ==x

2019-07-01 16:40

https://www.jfinal.com/doc/8-4

2019-06-28 16:14

提示已经很明显了, 让前端改!
https://www.jfinal.com/doc/3-11

2019-06-28 13:19

我觉得你可以加入 俱乐部 试试, 里面大神超多, 群文件还有教学视频等各种资料

2019-06-28 13:14

上面只是说代码的问题, 再说你这个业务实现的问题, 应该用数据库的乐观锁吧?
https://www.jfinal.com/share/1616

2019-06-28 13:13

改成:
Db.update("update report set count =? where id = ?", integer.incrementAndGet(), getInt("id"));

原因:
update的参数虽然是OBJ类型, 但是不是什么对象都能放的, 只能是几个基础类型, JDBC对应的那几个.
控制台输出的参数, 你感觉没有问题, 是因为你 "XXX" + integer 这样的写法, 实际是被转成了 StringBuilder 拼接的, 而Object参数的拼接是 append(String.valueOf(obj)) 这样的写法 . 所以你看见的是对象的 toString() 输出形式!

2019-06-28 11:13

@MR.zhangzhiwei 文件记得是单独上传的, 分开提交. 我没直接传服务器, 都是传第三方OSS上的, 你查前端资料的时候, 不要加JFinal 关键字, 比如: VUE 文件上传

2019-06-27 22:06

Vue.js推荐使用 axios 来完成 ajax 请求 , 默认提交的请求头是Content-Type: application/json 所以需要设置一下:
import axios from 'axios';
import qs from 'qs';
var data = {name: 'James'};
var url = '';
axios.post(url, qs.stringify(data), {headers: {'Content-Type': 'application/x-www-form-urlencoded'}}
).then(result => {
//回调操作
})
https://www.runoob.com/vue2/vuejs-ajax.html

2019-06-27 17:44

https://gitee.com/-/ide/project/jfinal/jfinal/edit/master/-/src/main/java/com/jfinal/kit/Kv.java
语法糖, 如果直接用Map不会觉得很烦吗? Kv多简洁易用~节省大量的代码量, 太人性化了

2019-06-27 17:18

@白世伟 https://www.jfinal.com/doc/5-3
// 查询id值为25的User
User.dao.findById(25)

没有多个主键, 就不要加 s 就好了

2019-06-27 17:15

_MappingKit 就是自己创建的啊, (生成器创建的).
https://www.jfinal.com/doc/5-2
_MappingKit只是一个很普通的Java文件, 对arp.addMapping("user", User.class);等配置的一个抽取, 之所以单独写出来一个文件, 是因为如果数据库结构有变动的时候, 运行一下生成器_JFinalGenerator, 这个文件内容就会被覆盖掉了.

"没生成的时候这么写启动类,就找不到_MappingKit这个文件" , 这不对着嘛! 普通Java里面去调用一个没有的Java类,可不报错嘛. 如果是刚入Java开发, 用JF的话, 可以网上搜索一下 "小木学堂" 看看视频讲解很细致

2019-06-27 17:00

Find model by composite id values. >> 通过多主键进行查找
findByIds(Object... idValues) >> 配套 arp.addMapping("article", "article_id", Article.class);
https://www.jfinal.com/doc/5-2
比如上面的配置, 那么 使用时 findByIds(1, 2); 可以通过看它拼接成的SQL 就知道咋回事了.

findByIdLoadColumns的用法:
// 查询id值为25的user, 且仅仅取name与age两个字段的值
User user = User.dao.findByIdLoadColumns(25, "name, age");
https://www.jfinal.com/doc/5-3