2018-06-14 18:02

站在 jfinal 的角度,不管你用什么办法,只要让 parameter 这一栏的数据正确即可,其它的问题 jfinal 无法干预到

2018-06-14 18:01

@373118970 发现你在问前端的事, jfinal 是后端框架,只管到 parameter 这一栏,前端我稍微说一下:
1:正规的表单提交
2:ajax 发请求时的 data 这一栏:
data: {sortField=aaa, sortOrder=bbb}

注意第二条中的 ajax,看上去是 json 数据,但本质上仍然是表单提交类型的 key value 数据,所以后台的 parameter 这一栏仍然是 key value

2018-06-14 17:57

@373118970 确保控制台输出的 jfinal action report 中的 parameter 这一栏的内容为如下两种格式即可:
Parameter : sortField=aaa sortOrder=bbb
Parameter : modelName.sortField=aaa modelName.sortOrder=bbb

前者的在使用时,第二个参数传 "":
getModel(Xxx.class, "",true);

后者在使用时,第二个参数传具体的前缀:
getModel(Xxx.class, "modelName",true);

这些在文档中都有实例,请不要再问这种基础性问题

2018-06-14 17:29

@弩张 项目启动的时候就有错了,造成后面的查询时候出错

所以,关键你得搞定启动时候的错误,但是你启动时候的错误异常,根本没有提供 cause 部分,可以预想你根本没去分析 cause 部分

解决问题,关键就在于分析 cause 部分,否则就只能是一直瞎猜

2018-06-14 17:26

其实关键还在于你的 parameter 这一栏到底输出了什么,一定要根据输出,合理选择相应的方法

2018-06-14 17:26

@373118970 如果控制台输出的 jfinal action report 中的 parameter 这一栏是下面的:
data = {"id":"23","title":"sads","content":"sadas"}

那么该这样获取:
String jsonStr = getPara("data");

然后再转换:
Tblog blog = FastJson.getJson().parse(jsonStr, Tblog.class);

注意,这里要引入 fastjson 的依赖

2018-06-14 15:57

这个不是错误,不需要解决,如果你一定要解决,添加上 sl4fj 的相关 jar 包即可

添加这些 jar 是用不到的,唯一的好处是不输出这几条日志

2018-06-14 15:55

可能是 SysUser 没做映射,或者是 linux 上的数据表有大小写限制,造成映射错误

2018-06-14 15:53

@373118970 getModel 与 getBean , 第二个参数传入空字符串,是可以支持不需要 model 前缀的:
getModel(Xxx.cllass, "", true);

如果你的 model 用 jfinal 生成器生成了 setter 方法,可以使用 getBean:
getBean(Xxx.cllass, "", true);

注意看文档

2018-06-14 14:08

@704535983 仔细看异常, 难道是你的项目还有其他jar 包对老版本有依赖? 注意打开 pom.xml 的那个依赖视图去分析

还可以打成 war 包,看看是不是打出来两个 jfinal 的 jar 回复删除

2018-06-14 12:40

@704535983 仔细看了一下,你的 BasePathInterceptor 中使用的 ActionInvocation 应该改成 Invocation

类名有变化,而且这个类从 core 包转移到了 aop 包,这个应该是 eclipse 会提示你错误的,难道是你的 BasePathInterceptor 放在另一个 jar 包中的,如果是的话,需要先升级另一个 jar 包到 jfinal 3.4

2018-06-14 11:55

@373118970 情况比较明朗, 使用 getPara("sortField") getPara("sortOrder") 即可获取

2018-06-14 11:54

当然是 sql 本身有误,或者是看错地方了,前天有个人也是以为查询慢,其实是另一行代码慢了

2018-06-14 11:53

这个在文档中都有,一定要先看看文档:
http://www.jfinal.com/doc/2-3

关于怎么跳转到 add 的问题:
当你的 action 中没有调用过任何 render、redirect、forwardAction 的时候,jfinal 会自动帮你调用一个 render(view), 规则是:
view = baseViewPath + viewPath + methodName + ".html";

上面变量的含义见文档:http://www.jfinal.com/doc/2-3

2018-06-14 11:49

@704535983 新版本的 jfinal 默认引擎是 enjoy,你得配置成 JSP:
me.setViewType(ViewType.JSP);