2017-06-09 14:19

具体代码是怎样的,在贴子里面可以直接补充

2017-06-07 22:44

@只谈风月 jquery 不能发送发送 http body 为 json 的数据,你这段代码本质上还是表单提交,dataType: json 仅仅表示将服务端返回的值当成 json 格式去处理

想要发送 HttpKit.readData(getRequest()); 可接收的数据,你得用 HttpClient 这样的客户端,或者 HttpKit.post(...) 来发送,浏览器中执行的 javascript 是无法做到的

2017-06-07 17:19

在 jfinal demo 中都有的,用那里面的就好

2017-06-07 16:50

卡死问题很可能是网络连接问题,也或者是服务器连不上的事,要引入的 jar 包在首页的 jfinal-3.1-all.zip 中有文件都有过说明

2017-06-07 16:49

虽然这个这个分享让作者感觉到有成就感,但这个分享内容也太少了,太没营养了吧,在原贴上添加内容啊

2017-06-07 13:03

升级 druid , 这个不是 jfinal 的问题,是 druid 版本的事

2017-06-06 22:50

默认的 json 转换实现是 JFinalJson,而其对 Model 的json 转换,只处理其中的 attrs 属性,不会处理 getter 方法

使用如下的代码即可:
me.setJsonFactory(new new FastJsonFactory())

需要注意的是,这个 json 实现类是只处理 getter 方法,不会处理 attrs 方法,所以需要你对 model 生成 getter 与 setter 方法

2017-06-06 22:48

ret.getStr 这个方法里面就是从 map 中取数据而已,如果这都跳不过去确实很诡异,单步调试到内部去看看

2017-06-06 22:46

@linuxea request 是 tomcat、jetty 实例化好了,并将其转给你用的,不需要自己去操心 request 实例话的事情

2017-06-05 18:02

@qianqian123 检查两个地方,一个 request 这个对象是不是早已是 null,还有一个是 request.getSession(true) 这个获取到的是不是 null

检查的方法是在 controller 中使用:
HttpServletRequest request = getRequest();
HttpServletSession session = request.getSession(true);

要确保这两个对象不能为 null,确保的方式不是 jfinal 的范畴,要去检查 tomcat 这些东东,或许是你的项目改了 jfinal 源代码,造成这些值为 null

2017-06-05 16:30

setSessionAttr(...) 的源代码如下:
public Controller setSessionAttr(String key, Object value) {
request.getSession(true).setAttribute(key, value);
return this;
}

可知道 session 的实例化是自动化的,你的代码出现了 Null Pointer Exception,应该是 request.getSession(true) 这一行代码出的问题,这一行代码 jfinal 仅仅是转调了一下底层的 HttpServletRequest,这个在历史是从未出现过问题

目前为止我也不知道原因

2017-06-05 16:06

最终的异信息是: Caused by: java.lang.IllegalArgumentException

但很奇怪,无法通过这信息知道是啥原因,建议单步调试看看

2017-06-05 11:11

@怪物 必须要看控制台的错误才好解决问题,如果没有,添加一下 log4j.jar 与 log4.properties 文件

2017-06-04 17:24

异常信息表明 mysql 驱动可能有问题,包名很奇怪,换个驱动试试