2017-09-05 12:41

乱码问题并没有特别好的解决办法,只能老老实实找到是哪一个环节出的问题,最快的解决方式是通过单步调试

jetty 9 的支持做成分支是个办法,会权衡。 或许直接升到 jetty9 就好,因为貌似 jetty 9 也出了支持 java 7 的版本,需要再研究

2017-09-05 12:37

部署问题我是默认大家都掌握了,因为这个知识是 java 基础,所以在 jfinal 手册里面没有展开描述

2017-09-05 12:36

先打成 war 包,才能部署,如果不打成 war 包, copy 出来 target 目录下面的 classes 目录放在 WEB-INF 下面也可以

2017-09-04 23:35

@doocal 不得不吐槽, spring 太过度设计,类的层次很深,一个 Resover 实现类的继承层次高达六七层,每层都添加了点方法用于继承类覆盖来添加功能

愿景很好,但根本不实用,得先搞懂这六七层的继承关系,以及这六七层类中各个方法之间的依赖/调用关系,并理解这种依赖机制下可以实现的功能,才知道如何去扩展

2017-09-04 23:30

@doocal 看一下这篇博客:http://elim.iteye.com/blog/1770554

其中后面的一小节《视图解析器链》这一部分谈到了:
第一个进行解析的将是ViewResolver链中order值最小的那个。当一个ViewResolver在进行视图解析后返回的View对象是null的话就表示该ViewResolver不能解析该视图,这个时候如果还存在其他order值比它大的ViewResolver就会调用剩余的ViewResolver中的order值最小的那个来解析该视图,依此类推。

所以,在 JFinalViewResolver 之中再添加一个 buildView(String) 方法,内容大致如下:
if (getSuffix().equals(".jsp")) {
return null;
} else {
return super.buildView(...);
}

2017-09-04 23:09

@doocal 如果是这样,那么 setOrder(0) 的意义何在呢? 或者这个 setOrder(int) 方法需要与别的方法配合使用

或许需要与 JFinalView 继承的 AbstractTemplateView 之内的 checkResource(...) 配合,所以你可以改造一下 JFinalView,在里面添加一个 checkResource(...) 方法,判断模板的扩展名,如果是 ".jsp" , 直接 return false 就完事了

2017-09-04 22:40

本质上来说,你完全可以拿着 JFinalViewResolver 与 JFinalView 这两个类的源代码,任意去改成符合自己需求的在 spring 中的用法

JFinalViewResolver 与 JFinalView 这两个类就是为懒人而准备的,由于我多年不用 spring,所以 spring 的很多用法不记得了

2017-09-04 22:38

如果你确定是构造方法中 setOrder(0) 去掉就可以解决问题,jfinal 3.3 考虑注掉这行代码,一定要回来再反馈

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 21:11

@yjjdick1990 感谢支持社区

2017-09-04 20:57

@yjjdick1990 这个不是礼貌不礼貌的问题

因为你发的问答贴很多,而如果没反馈,回复者在心理上会认为问题很可能没解决。 一是心里没底,二是没有成就感,也就没了动力

如果某位同学的问答贴很少,我回复以后,他没回应,可能是这位同学很少上 jfinal.com, 在理由上会比较容易接受

2017-09-04 20:48

对回复没有反馈,其他人也不太好再回复你问题了,怕是没解决问题,反而误导你

2017-09-04 20:34

很多问题,我回复你了,但不知道你解决没解决