JFinal3.2模版混合路径查找

3.2支持从jar包中加载模版,但是只能指定一个路径,要么是jar包,要么是webapp下面,在波总的指导下我做了个简单的扩展,下面是主要的代码,其中的buildFinalFileName方法,copy FileSource类中的同名方法出来即可。

public class MixPathSource implements ISourceFactory{
    @Override
    public ISource getSource(String baseTemplatePath,String fileName,String encoding){
        String filePath=PathKit.getWebRootPath()+(baseTemplatePath!=null?baseTemplatePath:"");
        File file=new File(buildFinalFileName(filePath,fileName));
        if(file.exists()){
            return new FileSource(filePath,fileName,encoding);
        }else{
            return new ClassPathSource(baseTemplatePath,fileName,encoding);
        }
    }    
}

configEngine里面设置一下来源

engine.setSourceFactory(new MixPathSource());

这样不管在jar包中的文件还是webapp里面的都能扫描到了,可见JFinal的设计相当灵活。

评论区

bloy

2017-08-01 09:38

3.2才支持??? 没还出啊 等。。。。。。

热门分享

扫码入社