2020-04-15 11:22
@KevinQWW 使用 Model 与 Db 的 template(...) 方法可以节省代码量,代码可读性也更好
getSqlPara(...) 是早期的设计, template(...) 是后期的设计,前者保留下来也是必要的,因为有些功能使用 template(...) 方法实现不了
2020-04-14 16:23
@e_star 一旦模板引擎提供像 jsp 一样支持直接写 java 代码的功能,立即就会有很多人用上
结局与 jsp 中大量使用 java 代码是一样的,维护起来极端痛苦
view 被抽象成 view ,就是为了专心展示数据的,而不是用来书写 java 逻辑的,复杂 java 逻辑在业务层都写完了
2020-04-14 13:47
@geek206 jfinal redis 插件仅有几个类文件,将之复制到你自己的项目中,然后手动改改就可以的,而且你还可以任意添加新的功能
2020-04-13 17:26
@pandalam ajax 发请求的时候, contentType 还有一个用途是针对上传文件,我记得要设置为:
contentType : false
具体记不清了,这里提出来一下,以便于你将来使用 "ajax 上传文件" 功能时关注这个知识点
其实我本来是对前端的事情不感兴趣,不会关注的,但 jfinal 迭代 9 年,后端极速开发的问题早就解决完了
现在用 jfinal 开发项目 95% 的时间都花在前端上,这让我不得不着手解决前端的问题
jfinal 会为俱乐部会员提供一个用于二次开发的前端解决方案
2020-04-13 17:22
@pandalam getModel、getBean 都是针对表单提交的,不需要这句
此外,要分清 contentType、 dataType 这两个参数的用途,前者是针对发送数据的,后者是针对返回数据的,很多人把后者当成是控制发送数据类型的,从而引发很多问题
2020-04-13 17:08
你需要的代码如下:
$.ajax({
type: "post",
url: "http://localhost/action",
contentType: 'application/json; charset=UTF-8', // 关键参数
dataType: 'json',
data: formToJsonString("表单id"),
success: function(ret) {
}
});
function formToJsonString(formId) {
var paramArray = $('#' + formId).serializeArray();
// 表单参数转 json 对象
var jsonObj = {};
$(paramArray).each(function() {
jsonObj[this.name] = this.value;
});
// json 对象转 json 字符串
return JSON.stringify(jsonObj);
}
其中的 contentType 为 'application/json; charset=UTF-8', 是最关键的参数。这些代码在你 jfinal club 项目的 jfinal-com-4.0.js 中都有