当前位置:编程学习 > JAVA >>

这问题。。。。。。。。。。

freemarker.core.ParseException: Unexpected end of file reached.
Unclosed list directive.

at freemarker.core.FMParser.generateParseException(FMParser.java:4641)
at freemarker.core.FMParser.jj_consume_token(FMParser.java:4512)
at freemarker.core.FMParser.List(FMParser.java:1245)
at freemarker.core.FMParser.FreemarkerDirective(FMParser.java:2333)
at freemarker.core.FMParser.Content(FMParser.java:2574)
at freemarker.core.FMParser.OptionalBlock(FMParser.java:2742)
at freemarker.core.FMParser.List(FMParser.java:1244)
at freemarker.core.FMParser.FreemarkerDirective(FMParser.java:2333)
at freemarker.core.FMParser.Content(FMParser.java:2574)
at freemarker.core.FMParser.OptionalBlock(FMParser.java:2742)
at freemarker.core.FMParser.List(FMParser.java:1244)
at freemarker.core.FMParser.FreemarkerDirective(FMParser.java:2333)
at freemarker.core.FMParser.Content(FMParser.java:2574)
at freemarker.core.FMParser.OptionalBlock(FMParser.java:2742)
at freemarker.core.FMParser.Root(FMParser.java:2914)
at freemarker.template.Template.<init>(Template.java:149)
at freemarker.cache.TemplateCache.loadTemplate(TemplateCache.java:376)
at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:347)
at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:229)
at freemarker.template.Configuration.getTemplate(Configuration.java:487)
at freemarker.template.Configuration.getTemplate(Configuration.java:452)
at com.clogi.lopo.scs.presentation.self.SelfHtmlFreeMarker.init(SelfHtmlFreeMarker.java:46)
at com.clogi.lopo.scs.presentation.self.CreateHtmlAction.listHtml(CreateHtmlAction.java:136)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at net.sf.jlue.aop.support.ActionInvocation.proceed(ActionInvocation.java:69)
at net.sf.jlue.aop.intercept.ActionInterceptor.invoke(ActionInterceptor.java:78)
at net.sf.jlue.struts.BaseAction.invoke(BaseAction.java:178)
at net.sf.jlue.struts.BaseAction.execute(BaseAction.java:121)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at net.sf.jlue.struts.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:65)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
--------------------编程问答--------------------
引用楼主 earther 的帖子:
freemarker.core.ParseException: Unexpected end of file reached.
Unclosed list directive.


错误提示是未关闭的'list'指令,楼主可查看ftl文件中是不是缺少</#list>.

再则,当页面报错时,可查看页面源代码,这样比较容易定位是哪一行除了问题。 --------------------编程问答-------------------- 说的是对的,谢谢了。 --------------------编程问答--------------------
freemarker.core.ParseException: Unexpected end of file reached.Unclosed if directive.
at freemarker.core.FMParser.generateParseException(FMParser.java:4697)
at freemarker.core.FMParser.jj_consume_token(FMParser.java:4568)
at freemarker.core.FMParser.If(FMParser.java:1206)
at freemarker.core.FMParser.FreemarkerDirective(FMParser.java:2372)
at freemarker.core.FMParser.Content(FMParser.java:2618)
at freemarker.core.FMParser.OptionalBlock(FMParser.java:2786)
at freemarker.core.FMParser.List(FMParser.java:1257)
at freemarker.core.FMParser.FreemarkerDirective(FMParser.java:2375)
at freemarker.core.FMParser.Content(FMParser.java:2618)
at freemarker.core.FMParser.OptionalBlock(FMParser.java:2786)
at freemarker.core.FMParser.List(FMParser.java:1257)
at freemarker.core.FMParser.FreemarkerDirective(FMParser.java:2375)
at freemarker.core.FMParser.Content(FMParser.java:2618)
at freemarker.core.FMParser.OptionalBlock(FMParser.java:2786)
at freemarker.core.FMParser.Root(FMParser.java:2958)
at freemarker.template.Template.<init>(Template.java:168)
at freemarker.cache.TemplateCache.loadTemplate(TemplateCache.java:457)
at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:370)
at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:238)
at freemarker.template.Configuration.getTemplate(Configuration.java:493)
at freemarker.template.Configuration.getTemplate(Configuration.java:458)
at com.bosera.km.document.DocumentHandler.createDoc(DocumentHandler.java:51)
at com.bosera.km.document.DOC_KZZSG.createDocument(DOC_KZZSG.java:64)
at com.bosera.km.document.servlet.DownloadKZZSG.doGet(DownloadKZZSG.java:40)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:989)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:501)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:464)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3252)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:264)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:112)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:383)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)


我也有报这个错,模板都是正常的, jar包也都放好了..
我在测试环境上是正常使用的,可部署到正式环境后,就出这个错..

这是jar包没读到吗? --------------------编程问答--------------------
问题已经查到一点了。。。
之前的写法是:
<if...></#if>
后来改成了:
< if ...>< / # if>
这样好像又可以正常过去了。。

下面这是一部分模板代码:
< # list table1 as map>
   < # list map?keys as itemKey> 
< # if itemKey_index=0>
            ....
              <w:t>${map["cpbzmc"]}</w:t>
            ....
        < / # if>
   < / # list>  
< / # list>
可是,生成的WORD文件是错误的。。。查看了文件后看到这样的错误:

Expression map is undefined on line 137, column 8 in kzzsgInfo.ftl.
The problematic instruction:
----------
==> ${map["cpbzmc"]} [on line 137, column 6 in kzzsgInfo.ftl]
----------

Java backtrace for programmers:
----------
freemarker.core.InvalidReferenceException: Expression map is undefined on line 137, column 8 in kzzsgInfo.ftl.
at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:125)
at freemarker.core.DynamicKeyName._getAsTemplateModel(DynamicKeyName.java:75)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.Expression.getStringValue(Expression.java:93)
at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.Environment.process(Environment.java:199)
at freemarker.template.Template.process(Template.java:256)
at com.bosera.km.document.DocumentHandler.createDoc(DocumentHandler.java:70)
at com.bosera.km.document.DOC_KZZSG.createDocument(DOC_KZZSG.java:64)
at com.bosera.km.document.servlet.DownloadKZZSG.doGet(DownloadKZZSG.java:40)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:989)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:501)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:464)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3252)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:264)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:112)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:383)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)
--------------------编程问答-------------------- 急急急急急急急急急急

如果不是标签的问题呢???


标签没写错  
但是就是报错啊 --------------------编程问答-------------------- 顶~~~~~~~~~~~~~~~~~~~~~~~~我也受教了
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,