@Bean public VelocityConfig velocityConfig() { Map<String, Object> velocityProperties = new HashMap<>(); velocityProperties.put("eventhandler.include.class", IncludeRelativePath.class.getName()); velocityProperties.put("input.encoding", "utf-8"); velocityProperties.put("output.encoding", "utf-8"); VelocityConfigurer cfg = new VelocityConfigurer(); cfg.setResourceLoaderPath("/WEB-INF/views/"); cfg.setVelocityPropertiesMap(velocityProperties); return cfg; }
@Override protected void postProcessVelocityEngine(VelocityEngine velocityEngine) { super.postProcessVelocityEngine(velocityEngine); velocityEngine.setProperty( ROSE_MACRO_RESOURCE_LOADER_CLASS, ClasspathResourceLoader.class.getName()); velocityEngine.addProperty(VelocityEngine.RESOURCE_LOADER, ROSE_MACRO_RESOURCE_LOADER_NAME); velocityEngine.addProperty(VelocityEngine.VM_LIBRARY, ROSE_MACRO_LIBRARY); if (logger.isInfoEnabled()) { logger.info( "ClasspathResourceLoader with name '" + ROSE_MACRO_RESOURCE_LOADER_NAME + "' added to configured VelocityEngine"); } }
@Bean public VelocityConfigurer velocityConfig() throws IOException { VelocityConfigurer velocityConfigurer = new VelocityConfigurer(); velocityConfigurer.setResourceLoaderPath("/WEB-INF/velocity/"); return velocityConfigurer; }
@Bean public VelocityEngine velocityEngine(VelocityConfigurer configurer) throws VelocityException, IOException { return configurer.getVelocityEngine(); }