Hi! I develop on IBM WebSphere Portal Server and I have problems with spring macros library.
If spring.ftl be in directory with other ftl-files - all OK, but I want so as to spring.ftl takes from spring.jar file
So,
that's my *.ftl:
my beans in this module:Code:<#ftl encoding="UTF-8"> <#setting number_format="0.##########" /> <#setting url_escaping_charset="ISO-8859-1" /> <#import "spring.ftl" as spring> <#include "/ftl/common/page.ftl"> <#include "/ftl/common/calendar.ftl"> <#include "/ftl/common/bookmark.ftl"> <#include "/freemarker/com.km.mts.glossary.view/macro_functions.ftl"> ...
and my error:Code:... <bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <property name="cache"><value>true</value></property> <property name="prefix"><value>freemarker/com.km.mts.glossary.view/</value></property> <property name="suffix"><value>.ftl</value></property> <property name="viewClass"><value>com.km.ibmportal.spring.portlet.freemarker.FreeMarkerViewWithPortalFunctions</value></property> <property name="exposeSpringMacroHelpers"><value>true</value></property> <property name="contentType"><value>text/html;charset=UTF-8</value></property> </bean> <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath"><value>/WEB-INF/</value></property> <property name="freemarkerSettings"> <props> <prop key="url_escaping_charset">UTF-8</prop> </props> </property> </bean> ...
Maybe somebody know what is the matter?Code:org.springframework.context.ApplicationContextException: Failed to parse FreeMarker template for URL [freemarker/com.km.mts.glossary.view/terms_list_page.ftl]; nested exception is freemarker.core.ParseException: Unexpected end of file reached. Unclosed if directive. freemarker.core.ParseException: Unexpected end of file reached. Unclosed if directive. at freemarker.core.FMParser.generateParseException(FMParser.java:4411) at freemarker.core.FMParser.jj_consume_token(FMParser.java:4286) at freemarker.core.FMParser.If(FMParser.java:1084) at freemarker.core.FMParser.FreemarkerDirective(FMParser.java:2189) at freemarker.core.FMParser.Content(FMParser.java:2433) at freemarker.core.FMParser.OptionalBlock(FMParser.java:2601) at freemarker.core.FMParser.Root(FMParser.java:2773) at freemarker.template.Template.(Template.java:148) at freemarker.cache.TemplateCache.loadTemplate(TemplateCache.java:381) at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:347) at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:229) at freemarker.template.Configuration.getTemplate(Configuration.java:439) at freemarker.template.Configuration.getTemplate(Configuration.java:411) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.getTemplate(FreeMarkerView.java:250) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.getTemplate(FreeMarkerView.java:236) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.checkTemplate(FreeMarkerView.java:158) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.initApplicationContext(FreeMarkerView.java:123) at org.springframework.context.support.ApplicationObjectSupport.setApplicationContext(ApplicationObjectSupport.java:79) at org.springframework.web.servlet.view.UrlBasedViewResolver.loadView(UrlBasedViewResolver.java:303) at org.springframework.web.servlet.view.AbstractCachingViewResolver.createView(AbstractCachingViewResolver.java:139) at org.springframework.web.servlet.view.UrlBasedViewResolver.createView(UrlBasedViewResolver.java:286) at org.springframework.web.servlet.view.AbstractCachingViewResolver.resolveViewName(AbstractCachingViewResolver.java:77) at org.springframework.web.servlet.DispatcherServlet.resolveViewName(DispatcherServlet.java:950) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:909) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:705) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:625) at org.springframework.web.servlet.FrameworkServlet.serviceWrapper(FrameworkServlet.java:386) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:346) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.km.ibmportal.spring.portlet.dispatcher.DispatcherServicePortlet.service(DispatcherServicePortlet.java:44) at com.km.ibmportal.spring.portlet.DispatcherPortlet.service(DispatcherPortlet.java:464) ... ============================== Unexpected end of file reached. Unclosed if directive. ============================== freemarker.core.ParseException: Unexpected end of file reached. Unclosed if directive. at freemarker.core.FMParser.generateParseException(FMParser.java:4411) at freemarker.core.FMParser.jj_consume_token(FMParser.java:4286) at freemarker.core.FMParser.If(FMParser.java:1084) at freemarker.core.FMParser.FreemarkerDirective(FMParser.java:2189) at freemarker.core.FMParser.Content(FMParser.java:2433) at freemarker.core.FMParser.OptionalBlock(FMParser.java:2601) at freemarker.core.FMParser.Root(FMParser.java:2773) at freemarker.template.Template.(Template.java:148) at freemarker.cache.TemplateCache.loadTemplate(TemplateCache.java:381) at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:347) at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:229) at freemarker.template.Configuration.getTemplate(Configuration.java:439) at freemarker.template.Configuration.getTemplate(Configuration.java:411) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.getTemplate(FreeMarkerView.java:250) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.getTemplate(FreeMarkerView.java:236) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.checkTemplate(FreeMarkerView.java:158) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.initApplicationContext(FreeMarkerView.java:123) at org.springframework.context.support.ApplicationObjectSupport.setApplicationContext(ApplicationObjectSupport.java:79) at org.springframework.web.servlet.view.UrlBasedViewResolver.loadView(UrlBasedViewResolver.java:303) at org.springframework.web.servlet.view.AbstractCachingViewResolver.createView(AbstractCachingViewResolver.java:139) at org.springframework.web.servlet.view.UrlBasedViewResolver.createView(UrlBasedViewResolver.java:286) at org.springframework.web.servlet.view.AbstractCachingViewResolver.resolveViewName(AbstractCachingViewResolver.java:77) at org.springframework.web.servlet.DispatcherServlet.resolveViewName(DispatcherServlet.java:950) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:909) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:705) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:625) at org.springframework.web.servlet.FrameworkServlet.serviceWrapper(FrameworkServlet.java:386) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:346) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.km.ibmportal.spring.portlet.dispatcher.DispatcherServicePortlet.service(DispatcherServicePortlet.java:44) at com.km.ibmportal.spring.portlet.DispatcherPortlet.service(DispatcherPortlet.java:464)


Reply With Quote