2019-09-24 11:59

鼠标放在 Db.batch 方法上,会弹出这个方法的使用 demo,参考示例去用就好

我估计是你的参数与 sql 没有配合好

2019-09-24 11:57

查询速度慢有两个原因:
1:该条 sql 查询在当前库的数量之下本身就慢
2:返回的数据量大,数据从数据库传递到内存中所花 IO 时间很长

jfinal 的数据库操作在本质上是与快慢无关的,因为 jfinal 仅仅只是将你的 sql + paras 直接扔给了底层的 JDBC,所以 jfinal 自身并不涉及数据库方面的性能问题

2019-09-24 11:54

@洛小风 使用 jfinal-undertow 这些事都将不存在:
https://www.jfinal.com/doc/1-2

何必还去折腾 tomcat

2019-09-24 11:51

缺少依赖,仔细参考开发文档:https://www.jfinal.com/doc/1-2

2019-09-24 11:50

@淡定007 单步调试到 Db.find 内部去看看是啥原因

2019-09-23 12:20

这个办法也挺方便,这里还有一个解决方案:
http://www.jfinal.com/share/1803

2019-09-23 12:19

@Code_Cat 配置一下:
arp.getEngine().setSourceFactory(new ClassPathSourceFactory());

然后 sql 模板文件放到 src/main/resources 下面去, ClassPathSourceFactory 是让模板引擎去 class path 和 jar 包内找文件

建议升级 jfinal 至少到 3.5 版本,因为之前的版本有这个问题要解决:
http://www.jfinal.com/share/979

2019-09-23 12:14

@淡定007 字段类型不对而已,放数据到字段的时候注意一下类型

2019-09-22 15:41

本站文档频道的 js 脚本可以直接拿去用,当然最好是加入俱乐部来获取整站源码:
https://www.jfinal.com/club

2019-09-22 15:40

enjoy 是在后端处理的,js 是在前端的浏览器中处理的,这里面有一个次序问题,一般有两种次序:
1:js 发 ajax ,然后后端 enjoy 渲染模板响应给浏览器, 最后浏览器将响应的结果解析并显示我
2:浏览器发普通请求,然后后端 enjoy 渲染模板响应给浏览器, 最后浏览器将响应的结果解析并显示

js 与 enjoy 的处理完全处在不同的阶段,这是首先要理清的问题

我猜测你的需求可以学一学 jfinal 官网的文档频道,也是 js 发起 ajax 请求,然后后端响应右侧的文档内容部分, js 得到这部分内容以后替换掉内容区域(左侧目录部分的内容不动)

2019-09-22 12:10

@Targer 用 Aop.get(...) 解决一下

单步调试找下原因

2019-09-21 20:36

如果还是不会的话,在本网页点击右键,查看本页面的 js 代码,基本照抄即可,大致如下:
var map = {
isLoading: false
, submit_btn: $("#submit_btn")
, submit_loading: $("#submit_loading")
};

$("#submit_btn").bind("click", function() {
reply("/feedback/saveReply", "6505", map);
});

$("#replyContent").bind("keydown", function(e) {
if ((e.ctrlKey || e.metaKey) && e.keyCode==13) { // ctrl + 回车发送消息
reply("/feedback/saveReply", "6505", map);
}
});

本站用的是 boolean isLoading 变量,是放在一个全局的 map 之中来使用的

2019-09-21 20:29

用 ajax 提交的好处:
1:用户提交后,按 F5 刷新,不会造成重复提交
2: 使用 boolean submitting 变量,防止用户多次重复点击 "提交" 按钮造成的重复提交

2019-09-21 20:28

直接改前端,提交用 ajax 触发

用一个 boolean submitting 变量,在 ajax 提交之前将这个变量置为 true,后续的提交请求要判断这个变量,如果为 true ,直接 return :
var submitting = false; // 这个变量为全局变量
function ajaxSubmit() {
if (submitting) {
return ;
} else {
submitting = true;
}
// 这里写提交的具体逻辑,用 ajax 提交,在回调方法中将 submitting 再置为 false
submitting = false;
}



后面如果碰到多次提交按钮的点击也不会提交

2019-09-21 17:14

@liugz jfinal weixin 项目只涉及后端获取 access token, 用户在界面上填表单不涉及这个事