2017-09-04 23:09
@doocal 如果是这样,那么 setOrder(0) 的意义何在呢? 或者这个 setOrder(int) 方法需要与别的方法配合使用
或许需要与 JFinalView 继承的 AbstractTemplateView 之内的 checkResource(...) 配合,所以你可以改造一下 JFinalView,在里面添加一个 checkResource(...) 方法,判断模板的扩展名,如果是 ".jsp" , 直接 return false 就完事了
2017-09-04 22:36
@doocal 注意看一下 JFinalViewResolver 源代码中的构造方法,里面已经设置 order 为 0 了:
setOrder(0);
可能是这个造成的你在 xml 中配置 order 无效,试一下将 JFinalViewResolver 拷贝出来,做成自己的 MyViewResolver,然后改一下构造方法,最后在 xml 配置中用这个 MyViewResolver 代替 JFinalViewResolver
记得搞定后回来分享一下
2017-09-04 21:36
@macaque CPI.getAttrs(model) 即可
这个 CPI 在 com.jfinal.plugin.activerecord 包下面,model 没有直接提供 getAttrs() 方法是为了避免开发者误用,对其操作不会改变内部的 Set modifyFlag 值,造成 update() 工作不正常
消灭可能出现的问题,比出现问题以后再解决要好,再说有 CPI 可用
2017-09-04 20:57
@yjjdick1990 这个不是礼貌不礼貌的问题
因为你发的问答贴很多,而如果没反馈,回复者在心理上会认为问题很可能没解决。 一是心里没底,二是没有成就感,也就没了动力
如果某位同学的问答贴很少,我回复以后,他没回应,可能是这位同学很少上 jfinal.com, 在理由上会比较容易接受
2017-09-04 20:04
@苦逼ITY jfinal 不支持跨数据源的事务,所以,你的 Db.tx(...) 方法决定使用某数据源以后,在方法内部再使用 Db.use(...) 切换到别的数据源上去不会起作用
2017-09-04 11:34
@arboret 最后改成什么样了呢? 是不是用的一个 static:
private static SecureRandom sr = new SecureRandom();
然后用的时候这样:
o.setOrderno("B-" + sr.nextLong() );
2017-09-04 11:32
jfinal.com 官方网站是在配置文件用了一个:
engineDevMode=true
来单独配置的 engine 的 devMode,具体用的时候这样:
public void configEngine(Engine me) {
me.setDevMode(p.getBoolean("engineDevMode", false));
}
这样配置的好处是 devMode 与 configConstant(Constants me) 中的 me.setDevMode(...) 这个配置独立开来,如果不在 configEngine 中独立配置,则 configEngine 对应的 engine 对象将使用与 configConstant 中一样的 devMode 值
一言蔽之是:configEngine 中的 engine 对象默认使用与 configConstant 中一样的 devMode 值,当在 configEngine 中再次指定过该值的,自然就以独立指定的为准
2017-09-04 11:24
@arboret 能否将对 SecureRandom 使用时出问题的这部分代码贴出来,这样有助于后来者碰到同样的问题
这个问题挺有价值,因为很多人是在 windows 上开发在 linux 上部署,开发阶段很难发现问题