2016-08-11 16:15

在拦截器中,先是 inv.invoke() 然后根据当前用户的权限,分别调用不同的 inv.getController().renderJson(data) 即可,此时调用的 renderJson(data) 会覆盖掉控制器中调用的

2016-08-11 13:59

@雁起平沙 文档中只提供了最常见的用法,因为 jfinal 的功能太多了,要写出详细的文档太费时间,大家也不一定去看,而且过多文档会给开发者带来心理负担。jfinal 代码量少,有些问题看看源码比看文档要快

2016-08-11 13:57

那就再研究一下 jfinal 源代码,再自己尝试写一个比 jfinal 更好用的工具出来,别的框架自然也就明白了很多

2016-08-11 13:55

@tony2015 我在本地测试了一下 demo,没有问题,难道是你数据库的字符集不支持 "--"? 这也说不通,因为这两个字符是再普通不过的字符了。你确定对 demo 没做任何改动?

再确定一下,你的 tomcat 的 webapps 下面有没有别的项目存在? 可能存在干扰

2016-08-11 11:04

1:HttpKit.readData() 方法在 jfinal 2.2 的 jar 包中
2:Controller 中的 public 无参方法会成为一个 action,外界可以通过 url 调用到,使用 NotAction 是为了让这类方法调用不到。 之所以要让 controller 中的 方法成为 public 的,是为了让 Interceptor 中可以调用到,例如这个 getInMsgXml() 方法,开发者可能要在拦截器中调用它做些更强大的扩展

2016-08-11 10:04

当 action 中没有调用 render 时,jfinal 会默认给你调用一个 render(view),其中
view = baseViewPath + viewPath + methodName + 模板扩展名

1:baseViewPath 通过 me.setBaseViewPath(...) 进行配置
2:viewPath 是在配置路由的时候通过 me.add(controllerKey,controllerClass, viewPath) 方法的第三个参数进行配置,如果第三个参数未指定则默认与 controllerKey值相同
3:methodName 就是 controller 中的方法名
4:当 viewPath 以"/" 打头时 baseViewPath 不起作用,这样设计是让 viewPath有机会回到根路径

2016-08-11 09:55

异常链中除了 JFinalFilter 没有其它有关 jfinal 的任何内容,没法确定错误

2016-08-11 09:54

贴出代码,不要只贴异常

2016-08-10 19:17

内部改进,用法不变

2016-08-10 15:07

@nbjgl 生产环境将 jetty 相关的 jar 包删掉即可,我一般是在 pom.xml 中将 jetty 依赖配置成 scope 为 provided,这样在打 war 包时,不会将 jetty 打进来

2016-08-10 14:41

@nbjgl myeclipse 下用新建 web project 即可。注意两个关键点,
1:打开 myeclipse的自动编译,并且编译的 class 文件要输出到 WEB-INF/classes 文件夹下,jfinal 是通过感知这个目录下的文件变化而自动加载变化的类文件的

2:使用 jfinal 手册中介绍的启动方式,也即使用 jfinal 集成的 jetty 启动

2016-08-10 09:29

@nbjgl 新增类,或者新增方法都不需要重启

2016-08-10 01:02

这句话是指修改 java 源代码后,不需要重启服务即可立即让代码生效。按照 jfinal 手册第一章,快速上手这一章去操作就可以了

2016-08-09 21:35

没有秘密就没有惊喜,多多关注社区动态

2016-08-09 17:41

是不是自己往response.getWriter() 中写东西了? 在 action 中添加一句 renderNull()