2017-10-23 11:31
@王小明 你的 eclipse 版本太高了吧? eclipse 高版本不知道改动了什么东东,造成了这个问题
2017-10-23 11:20
不建议 service 层依赖 web 层的东东,耦合度太高,可以在控制层先把参数准备妥当后,再传入给 service 层
如果一定要这么用,可以引入一个全局拦截器,大致如下:
public Context implements Interceptor {
static final ThreadLocal TL = new ThreadLocal();
public void intercept(Invocation inv) {
TL.set(inv.getController().getSession());
try {
inv.invoke();
} finally {
TL.remove();
}
}
public static Session getSession() {
return TL.get();
}
}
然后添加这个拦截器为全局拦截器,用的时候这样:
Context.getSession();
2017-10-23 11:15
jfinal 路由规模只有四条,很简单,看一下手册肯定就清楚了,这里要说的是 render(view) 中的 view 的规则:
jfinalView = baseViewPath + viewPath + view;
1:上面的 baseViewPath 是通过 routes.setBaseViewPath(...) 配置的
2:viewPath 是通过 routes.add(controllerKey, controllerClass, viewPath) 配置的,这里注意,第三个参数 viewPath 省略掉时,则值与 controllerKey 相同
3:当 view 以 "/" 打头时,前面的 baseViewPath、viewPath 全部失效