2016-10-14 14:26

先调用 getFile(...) 或 getFiles(...) 系列方法,然后再调用 getModel、getBean、getPara 这类方法,具体原因在 jfinal 手册上有红色字体明确说明

2016-10-14 13:08

jfinal 的 generator 模块,所有类都是面象扩展设计的,所以,你可以通过自定义一个 public class MyBaseModelGenberator extends BaseModelGenerator 覆盖掉父类中的 genClassDefine(...) 方法,可以随心所欲地将 Model 切换成你自己的中间 XxxModel

这个中间 XxxModel 中继承自 Model,里面可以写一些通用的方法,这样你的所有的 models 就拥有了这些扩展方法

此外,除了 BaseModelGenerator 外,其它的类都可以通过这种方式实现千变万化的需求

2016-10-13 15:13

@胖之 弄一个全局拦截器,将当前已经登录的用户,直接放进去,在拦截器通过这行代码即可:
inv.getController().setAttr(LoginService.loginAccountCacheName, loginAccount);
前面的 LoginService.loginAccountCacheName 仅仅是一个字符串而已,可以根据自己的喜好来起个名,后面的 loginAccount 是登录后的用户对象

2016-10-13 15:11

非 web 模式下,通过 arp.setShowSql(true) 可以开启 ActiveRecordPlugin 插件的 sql 输出

2016-10-13 15:10

jfinal 手册里面有具体的用法,在首页下载一个 jfinal 手册看看

2016-10-13 15:09

@海风的爸爸 用第一种方法即可,UrlSkipHandler 源代码一直在的,仔细找找 http://git.oschina.net/jfinal/jfinal

2016-10-13 12:04

context path 是个极其鸡肋的设计,很多人因此犯错,模板中的路径因此而被搞糊涂,只有彻底弃用 context path 才能避免这类问题

2016-10-13 12:03

@lidongxing2016 此外,你的 content path 没有设置为 "",所以掉进了这个坑,前面告知过要看这篇博文: https://my.oschina.net/jfinal/blog/353062

2016-10-13 12:00

@合金来了 通过判断类型来解决是个好办法,慢慢改进就会越来越好

2016-10-13 11:49

@lidongxing2016 补充一下前面的,在建好 action 以后,使用 redirect(actionKey) 重定向到 action ,而不是 redirect(xxx.jsp) 重定向到 jsp

2016-10-13 11:29

@lidongxing2016 手动在浏览器输入 "localhost/agency/jsp/error/reqerror.jsp" 是什么结果? 应该会是同样的错误,这个跟 jfinal 无关了,因为 redirect(url) 仅仅是通知浏览器向 url 发起个请求而已

此外,不建议 redirect 到 jsp 文件,建议所有动态请求全走 action,先建一个 action,然后在这个 action 中使用 render(xxx.jsp) 而非 redirect

2016-10-13 10:51

页面的资源路径使用绝对路径,而不是相对路径,要么以 http/https 打头,要么以 "/" 打头。

因为如果使用相对路径, java web 的规范,会让资源文件的最终路径随着浏览器中的 url 变化,此外,部署方式参考这里,避免一些坑:https://my.oschina.net/jfinal/blog/353062

2016-10-13 10:48

@合金来了 为了保持 BaseModel 与数据表一致,每次生成器每次运时都会重新生成 BaseModel,所以 BaseModel 是不能手工去改的

解决办法前面说过了,自建一个public MyBaseModelGenerator extends BaseModel,覆盖掉父类中的 genGetter 与 genSetter 方法,然后再用 MyBaseGenerator 代替原来的 BaseModelGenerator即可