2018-08-08 16:09

登录这个动作完成后,根据该用户的 id 判断当前登录用户是否已登录,如果已登录,踢出以前那个登录就好,其实很简单

2018-08-08 16:07

@cofer MappingKit 是生成器自动生成的,下载一下首页的 jfinal demo,里面有一个生成器类,改改里面的两三个配置运行一下 main 方法,这个 MappingKit 就会自动生成了, 注意配置要对,生成后刷新下项目

2018-08-08 12:16

jfr.addSharedObject("attr", new AttributeTag()) 这个添加共享对象,不是自定义标签,enjoy 中其实没有自定义标签,而是有自定义指令

你的用法如下:
var htmlVal = "#(attr.show("+attJson+"))";

内部是参数,用法改一下:
#(attr.show(attJson));

但你的 attJson 是 js 代码生成的,这里就存在一个先后问题,特别要注意,模板引擎执行在先,其渲染出来的 js 代码执行在后,所以你的代码本质是先后次序问题

通过在浏览器中点击右键,查看生成的 html 体会一下生成的值,就能知道这个先后问题

模板引擎是后端的东西,而 js 是纯浏览器中运行的前端的东西,前端的东西当然是不能先于后端运行的

2018-08-07 17:18

配置改成针对业务层:
me.addGlobalServiceInterceptor(new new TxByActionKeyRegex("/trans.*"));

并且注意业务层 aop 的触发需要手动,看一下文档中:
http://www.jfinal.com/doc/4-5

jfinal 3.5 已添加了自动化触发所有层 AOP 的功能,暂时未发布,想提前享用可以考虑加入俱乐部,这个功能俱乐部先用上了

2018-08-07 15:50

@爷们儿 老版本在 maven 中心库全都有的:
http://mvnrepository.com/artifact/com.jfinal/jfinal

2018-08-07 11:53

@taven.ytao 创建表是肯定可以的,临时表这个目前还没有人试过,你拿到 Connection 用原生 JDBC 试一下:
Connection conn = DbKit.getConfig().getConnection();

2018-08-06 22:07

用一下 Db.execute(...) 来执行存储过程

2018-08-06 22:06

这个自然不是 jfinal 自带的,定位找到是从哪来的,删之即可

2018-08-06 22:05

ActiveRecordPlugin 没有正确启动而已

2018-08-06 22:05

@fypshencheng order by 不支持问号占位,所以 order by #para(...) 肯定是不可以的

2018-08-06 21:56

报 executeQuery 异常,应该是 sql 错了,如果是修改数据,使用 Db.update(sql, para), 关键在于 sql 要写对

2018-08-06 21:52

先配置一下 basePath:
Engine.use().setBaseTemplatePath(....)

然后 getTemplate 就会去这个 basePath 下面去找模板了

2018-08-06 12:00

用上以后,可以在页面访问 session,像一面这样:
#(session.user.name)

2018-08-06 11:59

注意看这行:
Caused by: java.util.zip.ZipException: invalid LOC header (bad signature)

zip 或 jar 文件中的签名是错误的,可能是文件被损坏,换之

2018-08-06 11:57

注意看上面的字符串常量与 user.id 相加的用法,括号中是表达式,当成 java 来用