2020-08-24 16:34

druidplugin 一般不必重启,重启的应该是 arp

2020-08-23 15:44

乱码问题还真没什么捷径可解决,只能老老实实单步调试,找到发生乱码的原发现场去解决

2020-08-23 15:44

先创建如下函数,可以将表单数据转成 json 字符串
function formToJsonString(formId) {
var paramArray = $('#' + formId).serializeArray();
// 表单参数转 json 对象
var jsonObj = {};
$(paramArray).each(function() {
jsonObj[this.name] = this.value;
});

// json 对象转 json 字符串
return JSON.stringify(jsonObj);
}

然后用如下函数发送 json 字符串到后端:
$.ajax({
type: "post",
url: "http://localhost/action",
contentType: 'application/json; charset=UTF-8', // 关键参数
dataType: 'json',
data: formToJsonString("表单id"),
success: function(ret) {
}
});

注意,关键参数是 contentType: 'application/json; charset=UTF-8'

将所有数据以 string 格式发送到后端以后,再用如下代码转成 json :
String jsonStr = getRawData();
Map map = FastJson.getJson().parse(jsonStr, Map.class);

转成 map 以后,再转成各种 jave bean 就方便多了,并且 fastjson 也有比较智能的方法转为更符合你要求的类型,这个你看一下 fastjson 的 parse 方法

2020-08-23 15:39

核心在于看一下 eclipse/IDEA 控制台输出的 jfinal action report 中的 parameter 这一栏,根据这一栏中的格式,选择合适的 getBean、getModel、getPara 方法

假定输出是这样的:
columns[0][data]:
columns[0][name]:
columns[0][searchable]: true
columns[0][orderable]: true

那么代码是:
getBean(DataSrc.class, "columns[0]", true);

注意,如果你的 DataSrc 有相应的 setter 方法就用 getBean,否则用 getModel

回到你的具体需求,你的 columns[X] 中的 X 值是变化的,所以,你只需要用一个 for 循环即可:
for (int X=0; X《 len; X++) {
DataSrc ds = getBean(DataSrc.class, "columns[" + X + "]", true);
list.add(ds);
}

最后,你的 DataSrc 下面还有 List《Column》 columns, 这种多级 model 结构,这种场景,使用 json 传数据是最好的,具体传递方式见下一条回复

2020-08-22 21:39

@李通 jfinal 版本号在 com.jfinal.core.Const.JFINAL_VERSION 中就有,可以直接获取

2020-08-22 16:59

补充一下,如果你希望这个加载的优先级是第一个,可以使用:
Engine.addFieldGetterToFirst(new CamelFieldGetter(null));

还可以指定优先级,例如:
Engine.addFieldGetter(3, new CamelFieldGetter(null));

2020-08-22 16:46

这个扩展在 spring boot 下非常实用,如果不是 enjoy 提供了很方便的 FieldGetter 扩展,还真不太方便支持,赞

2020-08-22 14:40

解决思路:
1:在 chrome 中按 F12,打开浏览器的开发者工具,进入 netwrok 这一栏,输入 url,查看访问的 url 错误是什么,你说的是 404,那么 url 是否被重定向过了

2:查看 eclipse / IDEA 控制台输出的 jfinal action report, 看请求是否到达了 jfinal 这一层面

3:出现的 404 页面是 jfinal 给定的,还是你自己给定的,还是 undertow 给定的(undertow 给定的会出现 undertow 有关字样)

4:看看自己 PC 的 ip 地址,用另一台电脑的 chrome 访问一下你的应用试试:
http://ip:6666/mytool

2020-08-22 14:36

@加到几点几分裤 复制代码的时候,先点击编辑器上的代码按钮,支持粘贴完整 java 代码

2020-08-22 13:51

总结得很对,指令开发就是这么玩的

只要浏览一下 Directive 中的注释说明,再看看官方出的几个扩展的例子就能愉快地玩耍了:
com.jfinal.template.ext.directive

2020-08-22 13:48

100% 是错误原因定位不对

因为,我每天都用 chrome 浏览器访问用 jfinal undertow 开发的项目很多很多次

从来没有碰到过这个事

2020-08-22 13:46

是windows bat 默认编码问题

2020-08-21 18:16

照着文档中的 cron 表达式规则去写是最保险的:
https://jfinal.com/doc/9-2

可得知表达式为: 0 0 L * *