2020-09-01 08:50

@lxhxka 试过用FastJson,对其他模块有影响,比较树形结构的菜单无法显示,不敢用了。

2020-07-29 10:17

能动态切换吗?比如增加了横向菜单,点横向菜单,左边树的功能菜单跟着变

2020-07-15 11:05

我挺喜欢VUE的,不错,继续关注

2020-07-12 16:47

newJob,newTrigger是什么方法?

2020-07-04 23:03

@JFinal 我是看了文档不明白才来问的。配置为me.setJsonFactory(new FastJsonFactory());我试过了,也要在attrs中put自定义属性才可以,跟JFinalJson默认的没有什么区别了。我还发现个问题,配置me.setJsonFactory(new FastJsonFactory())后,我有些树形结构的数据出不来了,我树形结构数据是封装有一个方法自动转换List数据的。代码如下

/**
* 取得EasyUi中Tree控件的子树节点
*
* @param modelList
* 包含所有数据的Model列表
* @param idFieldName
* Model中ID字段名称
* @param parentIdFieldName
* Model中父ID字段名称
* @param textFieldName
* Model中名称字段名称,对应EasyUi的Tree控件中的text字段
* @param parentIdValue
* 父ID字段值
* @param level
* 树层级
* @return EasyUi中Tree控件的子树节点
*/
private static > List toTree(List modelList,
String idFieldName, String parentIdFieldName, String textFieldName,
Object parentIdValue, String iconCls, String cntName, int level) {
List retList = new ArrayList();

// 循环处理所有model
int n = 0;
for (M m : modelList) {
// 取得父ID字段值
Object id = m.get(parentIdFieldName);

// ID和传入的parentIdValue值是否相等
if ((parentIdValue == null && id == null)
|| (parentIdValue != null && parentIdValue.toString()
.equals(id.toString()))) {
// 如果相等,说明当前Model是子项,直接加入列表
retList.add(m);

// 递归地将当前Model的子树求出
List childrenList = toTree(modelList, idFieldName,
parentIdFieldName, textFieldName, m.get(idFieldName),
iconCls, cntName, level + 1);

// 子项列表,存放在children字段,此字段为指定字段
m.put(EASYUI_TREE_CHILDREN_NAME, childrenList);

if (StrKit.notBlank(cntName)) {
int cnt = m.getLong(cntName).intValue();
m.put(EASYUI_TREE_STATE_NAME, cnt > 0 ? "closed" : "open");
} else {
if (childrenList.size() > 0) {
//默认展开第一个节点
m.put(EASYUI_TREE_STATE_NAME, n++ == 0 ? "open"
: "closed");
} else {
m.put(EASYUI_TREE_STATE_NAME, "open");
}
}

if (StrKit.notBlank(iconCls)) {
if (!EASYUI_TREE_ICON.equals(iconCls)) {
m.put(EASYUI_TREE_ICON, m.getStr(iconCls));
}
}

// 如果Model中不存在text字段,则填充text字段,因为text字段是Tree控件指定字段
if (!EASYUI_TREE_TEXT_NAME.equals(textFieldName)) {
m.put(EASYUI_TREE_TEXT_NAME, m.getStr(textFieldName));
}

// 如果Model中不存在id字段,则填充id字段,因为id字段是Tree控件指定字段
if (!EASYUI_TREE_TEXT_ID.equals(idFieldName)) {
m.put(EASYUI_TREE_TEXT_ID, m.get(idFieldName));
}
}
}

return retList;
}

我当前的做法是,不配置me.setJsonFactory(new FastJsonFactory()),重写attr方法,将自定义属性put进去,这样貌似可以解决问题。
@Override
protected Map _getAttrs() {
// TODO Auto-generated method stub
Map attrs = super._getAttrs();
attrs.put("dept", dept);
attrs.put("deptName", getDeptName());
attrs.put("skillJson", getSkillJson());
attrs.put("skillText", getSkillText());
return attrs;
}

但我想,有没有更好的处理方法?

2020-06-29 22:58

@JFinal当ajax 使用type=post时,getRawData可以获取到数据,如果type=get时,getRawData就无法获取到,需要用到get()才可以。

2020-06-29 08:35

请问下,使用type=get的请求,后台如何获取data中的参数?还有url自带的都能获取到吗?

2020-06-29 08:33

@JFinal 请问下getRawData() 能获取前台使用jquery ajax (type=get)的数据吗?我怎么试了几次都获取不到的。

2020-06-23 07:35

@JFinal 我按照这个方法去做了,但ISO系统下还是会跳转到http。我是在登录拦截器中写的render(new MyRender(url)),不知道我这样写有没有问题。niginx中已配置

2020-06-19 20:45

我找到这个帖子了http://www.jfinal.com/feedback/1925

2020-06-19 20:31

@JFinal 有解决方法吗?楼上说是JFinal的缺陷,能不能修正?