goja-web/src/main/java/goja/mvc/Freemarkers.java
private static Configuration getAppConfiguration() {
        if (appConfig == null) {
            //从freemarker 视图中获取所有配置
            appConfig = (Configuration) FreeMarkerRender.getConfiguration().clone();
            try {
                //设置模板路径
                appConfig.setDirectoryForTemplateLoading(
                        new File(PathKit.getWebRootPath() + Goja.viewPath));
                appConfig.setObjectWrapper(new BeansWrapperBuilder(Configuration.VERSION_2_3_21).build());
            } catch (IOException e) {
                logger.error("The Freemarkers has error!", e);
            }
        }
        return appConfig;
    }
private static Configuration getAppConfiguration() {
        if (appConfig == null) {
            //从freemarker 视图中获取所有配置
            appConfig = (Configuration) FreeMarkerRender.getConfiguration().clone();
            try {
                //设置模板路径
                appConfig.setDirectoryForTemplateLoading(
                        new File(PathKit.getWebRootPath() + Goja.viewPath));
                appConfig.setObjectWrapper(new BeansWrapperBuilder(Configuration.VERSION_2_3_21).build());
            } catch (IOException e) {
                logger.error("The Freemarkers has error!", e);
            }
        }
        return appConfig;
    }
private static Configuration getAppConfiguration ( ) { if ( appConfig == null ) { //从freemarker 视图中获取所有配置 appConfig = ( Configuration ) FreeMarkerRender . getConfiguration ( ) . clone ( ) ; try { //设置模板路径 appConfig . setDirectoryForTemplateLoading ( new File ( PathKit . getWebRootPath ( ) + Goja . viewPath ) ) ; appConfig . setObjectWrapper ( new BeansWrapperBuilder ( Configuration . VERSION_2_3_21 ) . build ( ) ) ; } catch ( IOException e ) { logger . error ( "The Freemarkers has error!" , e ) ; } } return appConfig ; }
appConfig配置所有参数 重写freemarker中的  reader方法，读取该配置文件

@return config
appConfig配置所有参数 重写freemarker中的 reader方法，读取该配置文件