/** * Register a {@code FreeMarkerViewResolver} with a ".ftl" suffix. * <p><strong>Note</strong> that you must also configure FreeMarker by * adding a {@link FreeMarkerConfigurer} bean. */ public UrlBasedViewResolverRegistration freeMarker() { if (!checkBeanOfType(FreeMarkerConfigurer.class)) { throw new BeanInitializationException("In addition to a FreeMarker view resolver " + "there must also be a single FreeMarkerConfig bean in this web application context " + "(or its parent): FreeMarkerConfigurer is the usual implementation. " + "This bean may be given any name."); } FreeMarkerRegistration registration = new FreeMarkerRegistration(); UrlBasedViewResolver resolver = registration.getViewResolver(); if (this.applicationContext != null) { resolver.setApplicationContext(this.applicationContext); } this.viewResolvers.add(resolver); return registration; }
/** * Register a script template view resolver with an empty default view name prefix and suffix. * <p><strong>Note</strong> that you must also configure script templating by * adding a {@link ScriptTemplateConfigurer} bean. * @since 5.0.4 */ public UrlBasedViewResolverRegistration scriptTemplate() { if (!checkBeanOfType(ScriptTemplateConfigurer.class)) { throw new BeanInitializationException("In addition to a script template view resolver " + "there must also be a single ScriptTemplateConfig bean in this web application context " + "(or its parent): ScriptTemplateConfigurer is the usual implementation. " + "This bean may be given any name."); } ScriptRegistration registration = new ScriptRegistration(); UrlBasedViewResolver resolver = registration.getViewResolver(); if (this.applicationContext != null) { resolver.setApplicationContext(this.applicationContext); } this.viewResolvers.add(resolver); return registration; }