2016-10-20 16:51

界面看着很专业,有开源的资源不? 感谢分享

2016-10-20 16:48

@xRhbN 不要去扩展或改写 FileRender,因为 FileRender 支持了断点继传,不适合扩展成为那种可以支持网络资源的 Render,单写个 Render 是最好的

2016-10-20 16:47

如果你希望不执行 action,就在分支语句中不去调用 inv.invoke(),如果希望调用到达 action,就调用一下 inv.invoke(),没有什么其它诀窍,让程序根据这个逻辑走就可以了

2016-10-20 16:44

@都教授 我这我起码强调过几百次了,java web 规范决定了资源路径与 context path 有关,但是与任何框架无关,用 spring 与 struts 也是一样的结果

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()