2016-10-20 16:42

@都教授 这是因为你的 context path 没有设置为 "",所以页面中所有不以 "/" 打头的 url 资源的路径都是跟着你浏览器的 url 乱串的。解决办法就是将 context path 改为 "",改一下 tomcat 的配置

2016-10-20 16:41

你在 UpdValidagtor 中先 getFile,然后就可以正常验证参数了

2016-10-20 11:42

model 有个 use(configName) 方法可以绑定,可以用一用

2016-10-20 11:34

创建一张数据表,记录动作的过程,过程的最终态要么是成功,要么是停在了某个过程没往后走,要么是失败状态

整个动作如果出现问题,分析一下这张表中的数据,做出相应的处理即可,这个是纯业务问题,业务问题首先想到的是以数据为中心,做任何事情都想象成对数据的存取、加工、组合、展现,数据是核心且相对稳固,业务可以是千变万化,只有抓住数据这个核心,才能把控住千变万化的业务

2016-10-20 11:30

JspSkipHandler 中的核心代码改成如下就可以了:
if (target.endsWith(".html")) {
HandlerKit.renderError404(...);
} else {
next.handle(target, req, resp, isHandled);
}

2016-10-20 11:20

感谢你的分享

2016-10-20 11:20

前端一定要掌握好,如果掌握好前端对你带来的好处是超越想象的,jfinal.com 社区前端完全由站长亲自手工搞定,超长全栈工程师的好处就是想做什么立即就可以,不需要浪费时间去寻求任何帮助

2016-10-20 11:17

核心调用的地方在 ActionHandler 与 Invocation 这两个类里面,只需要在这两个类里面设置一个断点,调试跟踪一下程序的走势就极度清楚了,jfinal 核心设计极其简单,200 行代码左右

2016-10-20 11:13

首先在外部配置文件中以 key=value 形式先配置好需要的信息,然后在 YourJFinalConfig 中配置一下: ApiConfigKit.setDevMode(me.getDevMode());

然后让自己的控制器继承MsgController、ApiController,此时会 IDE 会提示你要实现 getConfig() 这个抽象方法,只需要在这个方法中创建 Config 对象,并向这个 config 对象中放入配置内容即可,具体的配置内容都可以通过 config.setXxx 得到提示

2016-10-20 11:04

将数据转成 byte[] 类型,然后 set(...) 进去,最后再 save() 或者 update()

2016-10-20 10:58

提示内存溢出,你为 jdk 启动给配置的最大内存是多少? 或许是项目几乎占尽了分配的内存,然后上传的文件成了压死骆驼的最后一根稻草

2016-10-20 10:56

demo 运行流程简单来说如下:
1:请求进入web.xml中配置的 JFinalFilter之中
2:JFinalFilter 持有一个 handler 链条,会按次序分别去调用这些 Handler
3:其中这个 handler 链条的尾部是 ActionHandler,此 handler 是处理所有动态请求的,也就是处理 Controller 中定义的 action 方法
4:请求到达 ActionHandler 以后,会首先根据该请求的 url 支获取 Action 对象,如果没找到则报 404 异常,如果找到了,则从 Action 中拿到目标 action 所配置的 Interceptor 以及 Controller action 的 Method 对象
5:拿到上述对象以将她们封装在一个 Invocation 的对象中,然后在此对象的 invoke() 方法中通过递归调用来调用 interceptor 与 action 方法
6: action 方法是用户在 Controller action 方法中写的程序,这样就将控制权交给了用户
7:用户在 action 中干完自己的事以后,调用一下 render 方法,后续 Invocation 调用完成以后会转调用户刚刚调用 render 时生成的 Render 对象的 render() 方法,该方向客刻端响应返回的数据

上面的条数据看上去多,其实主要就三步:一是创建 Invocation 封装应该调用的 interceptor 与 controller。二是调用 invcation.invoke(),进而会将调用传递到 interceptor与controller。三是调用 render

2016-10-20 10:48

jfinal ext 是第三方开发者提供的,但 jfinal ext 作者由于出国工作的原因没有时间进行维护,建议有需要的朋友可以自己改改这里,就是简单改个名很方便,

2016-10-20 10:47

没有任何异常抛出,情况很好啊