2018-07-27 15:23
Controller {
//线程池
private static ExecutorService exec = new ThreadPoolExecutor(1
	    					, 300
	    					, 0L
	    					, TimeUnit.MILLISECONDS
	    					, new LinkedBlockingQueue(1024)
	    					, new ThreadFactory(){ @Override public Thread newThread(Runnable r) { return new Thread(r); }}
			    			, new ThreadPoolExecutor.AbortPolicy());
//开始使用
public void index(){
exec .submit(new Runnable() {
			@Override
			public void run() {
				//调用你的  业务代码
			}
		})
renderJson(true);
}
}
2018-07-21 10:46
@不会飞的张小Q 正常接收就好了啊, 比如 Controller提供的getPara系列方法http://www.jfinal.com/doc/3-3
2018-07-19 14:29
@l745230 我们的SQL都是先在 Navicat 里面敲好了(自带语法提示), 运行成功之后, 再复制粘贴到JAVA里面或者SQL模版里, 用起来也还行.... 我以前用过 海哥写的 Afinal 里面封装操作数据库的工具还是蛮好的
2018-07-14 20:04
@童年  你 UserService 里面是怎么写的了 ?
getTests 里面是什么业务?
 dao对象是静态全局共享的,  如果被用来set(…)再get(...) , 在多线程请求下操作数据就会错乱的,  这个是JAVA最基础的概念,   以前总被新手误用, 所以对 dao对象 new User().dao()  做了判断提醒.
new 出来的对象, 就不一样了, 不会被多个线程操作了, 自然不会出错了
2018-07-14 14:39
@童年  仔细阅读文档: http://www.jfinal.com/doc/5-3
 dao对象是全局共享的,只能用于数据库查询,不能用于数据承载对象。数据承载需要使用new User().set(…)来实现。
2018-06-20 10:03
@饿了吃口葫芦肉 "img原样" 是什么意思 ?  例子代码我测试过, 没有问题, 
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>test-barcode</title>
</head>
<body>
<img src="/test/barcode/jfinal-20170801">
</body>
</html>
/**
* /test/barcode/jfinal-20170801
*/
public class BarcodeController extends Controller {
public void index(){
render(new BarcodeRender(getPara()));
}
}