FreeMarker template error (DEBUG mode; use RETHROW in production!): The value you try to list is an extended_hash (wrapper: f.t.SimpleHash), thus you must specify two loop variables after the "as"; one for the key, and another for the value, like <#... as k, v>). ---- FTL stack trace ("~" means nesting-related): - Failed at: #list indexAdIngo as inadinfo [in template "article/article2.ftl" at line 13, column 1] ---- Java stack trace (for programmers): ---- freemarker.core.NonSequenceOrCollectionException: [... Exception message was already printed; see it above ...] at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:351) at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271) at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:244) at freemarker.core.Environment.visitIteratorBlock(Environment.java:657) at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:108) at freemarker.core.IteratorBlock.accept(IteratorBlock.java:94) at freemarker.core.Environment.visit(Environment.java:347) at freemarker.core.Environment.visit(Environment.java:353) at freemarker.core.Environment.visit(Environment.java:353) at freemarker.core.Environment.process(Environment.java:326) at freemarker.template.Template.process(Template.java:383) at com.juzhencms.apps.busi.web.BaseController.templateResult(BaseController.java:278) at com.juzhencms.apps.busi.web.ArticleController.article(ArticleController.java:50) at com.juzhencms.apps.busi.web.ArticleController$$FastClassBySpringCGLIB$$4114df7b.invoke() at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) at com.juzhencms.apps.busi.web.ArticleController$$EnhancerBySpringCGLIB$$5c898e94.article() at sun.reflect.GeneratedMethodAccessor10474.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1064) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at com.tongweb.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) at com.tongweb.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at com.tongweb.web.websocket.server.WsFilter.doFilter(WsFilter.java:53) at com.tongweb.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at com.tongweb.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:123) at com.tongweb.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at com.tongweb.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at com.juzhencms.apps.base.common.filter.DataFilter.doFilter(DataFilter.java:49) at com.tongweb.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at com.tongweb.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:126) at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:64) at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:101) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:119) at com.tongweb.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at com.tongweb.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at com.tongweb.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at com.tongweb.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at com.tongweb.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) at com.tongweb.catalina.core.StandardContextValve.invoke0(StandardContextValve.java:123) at com.tongweb.catalina.core.ThanosStandardContextValve.invoke0(ThanosStandardContextValve.java:14) at com.tongweb.catalina.core.StandardContextValve.invoke(StandardContextValve.java:114) at com.tongweb.catalina.core.ThanosStandardContextValve.invoke(ThanosStandardContextValve.java:49) at com.tongweb.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44) at com.tongweb.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:445) at com.tongweb.catalina.core.StandardHostValve.invoke(StandardHostValve.java:368) at com.tongweb.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.invoke(OpenEJBSecurityListener.java:97) at com.tongweb.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80) at com.tongweb.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at com.tongweb.catalina.core.ThanosStandardEngineValve.invoke(ThanosStandardEngineValve.java:43) at com.tongweb.catalina.realm.RealmValve.invoke(RealmValve.java:21) at com.tongweb.catalina.connector.ThanosCoyoteAdaptor.service(ThanosCoyoteAdaptor.java:480) at com.tongweb.coyote.http11.Http11Processor.service(Http11Processor.java:894) at com.tongweb.coyote.http11.ThanosHttp11Processor.service(ThanosHttp11Processor.java:19) at com.tongweb.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:73) at com.tongweb.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:935) at com.tongweb.web.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1507) at com.tongweb.web.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at com.tongweb.web.util.threads.TWThreadPoolExecutor.runWorker(TWThreadPoolExecutor.java:1172) at com.tongweb.web.util.threads.TWThreadPoolExecutor$Worker.run(TWThreadPoolExecutor.java:628) at com.tongweb.web.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:750)