2017-11-28 17:24

@qwerty111 jsp 渲染得: renderJsp("index.jsp");

2017-11-28 17:24

mina 的源代码我看过,写得不怎么样,架构设计不优雅,学习成本高

2017-11-28 17:23

message 这些属于包里面的内容字段,包的开始与节束应该在更底层去解决,而不是通过判断内容字段的内容结构去决定开始与节束,再多研究一下 mina 文档

不建议用 mina,而是建议用 netty 或者国产的 t-io

2017-11-28 16:17

sql 不要写在model中,而是要写在 service 层或者外部 sql 模板文件之中。 model 只承载数据,保持 model 中的清爽

看一下 jfinal 手册有关 sql 管理部分的最佳实践,也可以加入俱乐部获取本站源代码得到最佳实践代码

2017-11-28 16:16

手误,应该是 ClassPathSourceFactory

2017-11-28 15:47

异常提示已经很明确了:
Can not create instance of class: demo.DemoConfig. Please check the config in web.xml

一是 demo.DemoConfig.java 这个文件可能不存在,注意看路径与文件名都要对,二是 DemoConfig 可能没有继承 JFinalConfig,三是 eclipse 的 Default Output Folder 没有配置正确

2017-11-28 15:43

多年不用 spring,没法帮到你,抱歉

2017-11-28 15:42

去掉 arp.setBaseSqlTemplate(...) 这行代码,使用下面的代码:
arp.getEngine().setSourceFactory(new ClassPathSourceFacotry());

这么配置以后,不仅可以从 class path 中读取模板,还可以从 jar 包读取模板,极其方便

2017-11-28 11:48

@吃饱了晒太阳 你前面的需求是:如何绕过shiro权限验证

2017-11-28 11:38

在 controller 中新建一个专用 action,专门接受这些请求,然后用 shiro 对这个 action 配置好访问权限

2017-11-28 11:17

不要乱猜原因,开启开发模式,看 eclipse 控制台输出的 jfinal action report,如果有异常就分析异常

2017-11-28 11:16

quartz 本身就支持分布式,只要直接用上就可以了。

jfinal 确实有不少人封装过 quartz,即便如此,分布式的用法仍然是 jfinal 无法干预的,仍然无法避免去学习 quartz 的分布式的用法

封装往往只是为了整合更快,但其中的功能通常是不封装的,因为如果一个第三方做得够好,一是没有封装的必要,二是封装以后又得学习封装好以后的这套 API,徒增学习成本

总结一下就是,在 jfinal 中直接用上 quartz,用到它的分布式的功能,直接看他的文档就可以了

2017-11-28 11:13

@Yiww order by 不支持问号占位,这个是 JDBC 决定的,不是 jfinal 可能控制的。

order by 要动态,完全可以通过传参的方式, cond.set("order", "order by update_time desc, other_field asc")

然后在模板中用 #(order) 来输出即可

2017-11-28 10:49

这样配置一下就可以了:
activeRecordPlugin.setContainerFactory(new OrderedFieldContainerFactory());

2017-11-28 10:45

不是maven ,只要删掉 jetty-server-8.1.8.jar 包就可以了。 但是你如果自己添加过有关 jsp、jstl 相关 jar 包,也要删掉,原因与前面谈的本质上一样

在 jfinal 的角度,非 maven 项目,只提供过 jetty-server-8.1.8.jar 这个 jar 包,但仍然无法阻止你自己额外添加 jsp、jstl 相关的 jar 包,这点就是在删了 jetty-server jar 包以后,解决问题的关键