Java 使用时模板处理错误?操作人员
我试图使用Java 使用时模板处理错误?操作人员,java,freemarker,spark-java,Java,Freemarker,Spark Java,我试图使用report?is\u odd\u item查看循环中的索引是否为奇数,这会导致以下错误: SEVERE: Template processing error: "Error parsing included template sections/reports.ftl\nError on line 4, column 42, in template sections/reports.ftl\nFound is_odd_item, expecting one of: is_direct
report?is\u odd\u item
查看循环中的索引是否为奇数,这会导致以下错误:
SEVERE: Template processing error: "Error parsing included template sections/reports.ftl\nError on line 4, column 42, in template sections/reports.ftl\nFound is_odd_item, expecting one of: is_directive, parent, js_string, j_string, uncap_first, is_transform, number, is_hash, trim, children, has_content, iso_ms, xml, iso_utc, byte, double, left_pad, json_string, matches, capitalize, number_to_datetime, contains, size, iso_local_h_nz, iso_utc_ms, iso_local_m_nz, is_collection, long, default, iso_utc_h_nz, iso_local_ms, is_boolean, last_index_of, c, iso_utc_m_nz, is_macro, rtf, iso_utc_nz, upper_case, node_name, reverse, cap_first, url, is_hash_ex, iso_nz, is_enumerable, exists, number_to_date, first, iso_local, date, iso, replace, float, right_pad, datetime, node_type, split, iso_ms_nz, number_to_time, is_sequence, iso_utc_m, html, ancestors, iso_utc_h, iso_local_ms_nz, new, last, sort, eval, lower_case, web_safe, is_date, is_string, iso_local_nz, word_list, seq_last_index_of, node_namespace, string, keys, iso_m_nz, values, seq_index_of, chunk, sort_by, iso_m, starts_with, substring, index_of, iso_h, root, floor, iso_h_nz, ceiling, if_exists, chop_linebreak, iso_local_h, length, is_indexable, groups, is_node, iso_local_m, int, iso_utc_ms_nz, xhtml, ends_with, round, interpret, is_method, namespace, short, seq_contains, time, is_number in sections/reports.ftl"
Error parsing included template sections/reports.ftl
Error on line 4, column 42, in template sections/reports.ftl
Found is_odd_item, expecting one of: is_directive, parent, js_string, j_string, uncap_first, is_transform, number, is_hash, trim, children, has_content, iso_ms, xml, iso_utc, byte, double, left_pad, json_string, matches, capitalize, number_to_datetime, contains, size, iso_local_h_nz, iso_utc_ms, iso_local_m_nz, is_collection, long, default, iso_utc_h_nz, iso_local_ms, is_boolean, last_index_of, c, iso_utc_m_nz, is_macro, rtf, iso_utc_nz, upper_case, node_name, reverse, cap_first, url, is_hash_ex, iso_nz, is_enumerable, exists, number_to_date, first, iso_local, date, iso, replace, float, right_pad, datetime, node_type, split, iso_ms_nz, number_to_time, is_sequence, iso_utc_m, html, ancestors, iso_utc_h, iso_local_ms_nz, new, last, sort, eval, lower_case, web_safe, is_date, is_string, iso_local_nz, word_list, seq_last_index_of, node_namespace, string, keys, iso_m_nz, values, seq_index_of, chunk, sort_by, iso_m, starts_with, substring, index_of, iso_h, root, floor, iso_h_nz, ceiling, if_exists, chop_linebreak, iso_local_h, length, is_indexable, groups, is_node, iso_local_m, int, iso_utc_ms_nz, xhtml, ends_with, round, interpret, is_method, namespace, short, seq_contains, time, is_number in sections/reports.ftl
The problematic instruction:
----------
==> include sections[section] [on line 16, column 17 in layout.ftl]
----------
Java backtrace for programmers:
----------
freemarker.template.TemplateException: Error parsing included template sections/reports.ftl
Error on line 4, column 42, in template sections/reports.ftl
Found is_odd_item, expecting one of: is_directive, parent, js_string, j_string, uncap_first, is_transform, number, is_hash, trim, children, has_content, iso_ms, xml, iso_utc, byte, double, left_pad, json_string, matches, capitalize, number_to_datetime, contains, size, iso_local_h_nz, iso_utc_ms, iso_local_m_nz, is_collection, long, default, iso_utc_h_nz, iso_local_ms, is_boolean, last_index_of, c, iso_utc_m_nz, is_macro, rtf, iso_utc_nz, upper_case, node_name, reverse, cap_first, url, is_hash_ex, iso_nz, is_enumerable, exists, number_to_date, first, iso_local, date, iso, replace, float, right_pad, datetime, node_type, split, iso_ms_nz, number_to_time, is_sequence, iso_utc_m, html, ancestors, iso_utc_h, iso_local_ms_nz, new, last, sort, eval, lower_case, web_safe, is_date, is_string, iso_local_nz, word_list, seq_last_index_of, node_namespace, string, keys, iso_m_nz, values, seq_index_of, chunk, sort_by, iso_m, starts_with, substring, index_of, iso_h, root, floor, iso_h_nz, ceiling, if_exists, chop_linebreak, iso_local_h, length, is_indexable, groups, is_node, iso_local_m, int, iso_utc_ms_nz, xhtml, ends_with, round, interpret, is_method, namespace, short, seq_contains, time, is_number in sections/reports.ftl
at freemarker.core.Include.accept(Include.java:162)
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.IteratorBlock$Context.runLoop(IteratorBlock.java:167)
at freemarker.core.Environment.visit(Environment.java:428)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)
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:259)
at spark.template.freemarker.FreeMarkerEngine.render(FreeMarkerEngine.java:70)
at spark.TemplateViewRouteImpl$1.render(TemplateViewRouteImpl.java:61)
at spark.TemplateViewRouteImpl$1.render(TemplateViewRouteImpl.java:58)
at spark.TemplateViewRouteImpl.render(TemplateViewRouteImpl.java:86)
at spark.http.matching.Routes.execute(Routes.java:62)
at spark.http.matching.MatcherFilter.doFilter(MatcherFilter.java:128)
at spark.embeddedserver.jetty.JettyHandler.doHandle(JettyHandler.java:50)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:119)
at org.eclipse.jetty.server.Server.handle(Server.java:517)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:242)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:261)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:75)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:213)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:147)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
at java.lang.Thread.run(Thread.java:745)
Caused by: freemarker.core.ParseException: Error on line 4, column 42, in template sections/reports.ftl
Found is_odd_item, expecting one of: is_directive, parent, js_string, j_string, uncap_first, is_transform, number, is_hash, trim, children, has_content, iso_ms, xml, iso_utc, byte, double, left_pad, json_string, matches, capitalize, number_to_datetime, contains, size, iso_local_h_nz, iso_utc_ms, iso_local_m_nz, is_collection, long, default, iso_utc_h_nz, iso_local_ms, is_boolean, last_index_of, c, iso_utc_m_nz, is_macro, rtf, iso_utc_nz, upper_case, node_name, reverse, cap_first, url, is_hash_ex, iso_nz, is_enumerable, exists, number_to_date, first, iso_local, date, iso, replace, float, right_pad, datetime, node_type, split, iso_ms_nz, number_to_time, is_sequence, iso_utc_m, html, ancestors, iso_utc_h, iso_local_ms_nz, new, last, sort, eval, lower_case, web_safe, is_date, is_string, iso_local_nz, word_list, seq_last_index_of, node_namespace, string, keys, iso_m_nz, values, seq_index_of, chunk, sort_by, iso_m, starts_with, substring, index_of, iso_h, root, floor, iso_h_nz, ceiling, if_exists, chop_linebreak, iso_local_h, length, is_indexable, groups, is_node, iso_local_m, int, iso_utc_ms_nz, xhtml, ends_with, round, interpret, is_method, namespace, short, seq_contains, time, is_number in sections/reports.ftl
at freemarker.core.BuiltIn.newBuiltIn(BuiltIn.java:255)
at freemarker.core.FMParser.BuiltIn(FMParser.java:795)
at freemarker.core.FMParser.AddSubExpression(FMParser.java:731)
at freemarker.core.FMParser.PrimaryExpression(FMParser.java:278)
at freemarker.core.FMParser.UnaryExpression(FMParser.java:324)
at freemarker.core.FMParser.MultiplicativeExpression(FMParser.java:440)
at freemarker.core.FMParser.AdditiveExpression(FMParser.java:390)
at freemarker.core.FMParser.RangeExpression(FMParser.java:561)
at freemarker.core.FMParser.RelationalExpression(FMParser.java:516)
at freemarker.core.FMParser.EqualityExpression(FMParser.java:481)
at freemarker.core.FMParser.AndExpression(FMParser.java:590)
at freemarker.core.FMParser.OrExpression(FMParser.java:613)
at freemarker.core.FMParser.Expression(FMParser.java:226)
at freemarker.core.FMParser.If(FMParser.java:1175)
at freemarker.core.FMParser.FreemarkerDirective(FMParser.java:2377)
at freemarker.core.FMParser.Content(FMParser.java:2623)
at freemarker.core.FMParser.OptionalBlock(FMParser.java:2791)
at freemarker.core.FMParser.List(FMParser.java:1262)
at freemarker.core.FMParser.FreemarkerDirective(FMParser.java:2380)
at freemarker.core.FMParser.Content(FMParser.java:2623)
at freemarker.core.FMParser.OptionalBlock(FMParser.java:2791)
at freemarker.core.FMParser.Root(FMParser.java:2963)
at freemarker.template.Template.<init>(Template.java:171)
at freemarker.cache.TemplateCache.loadTemplate(TemplateCache.java:447)
at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:360)
at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:235)
at freemarker.template.Configuration.getTemplate(Configuration.java:578)
at freemarker.core.Environment.getTemplateForInclusion(Environment.java:1490)
at freemarker.core.Include.accept(Include.java:157)
... 32 more
严重:模板处理错误:“分析包含的模板节/报表时出错。ftl\n在模板节/报表的第4行第42列出现错误。ftl\n查找为奇数项,应为以下项之一:is_指令、父项、js_字符串、j_字符串、uncap_first、is_变换、数字、is_哈希、修剪、子项、has_内容、iso_ms、xml、iso_utc、字节、双精度、左_pad、json_字符串。”,匹配、大写、数字到日期时间、包含、大小、iso_local_h_nz、iso_utc_ms、iso_local_m_nz、is_collection、long、default、iso_utc_h_nz、iso_local_nz、is_boolean、最后一个索引、c、iso_utc_m_nz、is_宏、rtf、iso_utc_nz、大写字母、节点名称、反向、大写字母、url、is_hash_ex、iso_可枚举、存在、,数字到时间,第一,iso本地,日期,iso,替换,浮点,右键盘,日期时间,节点类型,拆分,iso ms新西兰,数字到时间,是序列,iso utc m,html,祖先,iso utc h,iso本地ms新西兰,新,最后,排序,求值,小写,网络安全,is日期,is字符串,iso本地,单词列表,序号最后索引,node_名称空间、字符串、键、iso_m_nz、值、seq_index_of、chunk、sort by、iso_m、start_with、substring、index_of、iso_h、root、floor、iso_h_nz、ceiling、if_存在、chop_linebreak、iso_local_h、length、is_indexable、groups、is_node、iso_local_m、int、iso_utc_ms_nz、xhtml、end_with、round、is_方法,namespace,short,seq_contains,time,是sections/reports.ftl中的编号”
分析包含的模板节/reports.ftl时出错
模板节/reports.ftl第4行第42列出错
找到的是奇数项,应为以下项之一:is_指令、父项、js_字符串、j_字符串、uncap_first、is_转换、数字、is_哈希、修剪、子项、has_内容、iso_ms、xml、iso_utc、byte、double、left_pad、json_字符串、匹配项、大写、数字_到日期时间、包含项、大小、iso_本地_h_nz、iso_utc_本地_m_nz、is_collec选项,长,默认值,iso_utc_h_nz,iso_local_ms,is_boolean,最后一个索引,c,iso_utc_m_nz,is_macro,rtf,iso_utc_nz,大写,节点名称,反转,大写,url,is_hash_ex,iso_nz,可枚举,存在,编号到日期,第一,iso_local,日期,iso,替换,浮点,右键盘,日期时间,节点类型,拆分,iso_ms_nz,数字到时间,is_顺序,iso_utc_m,html,祖先,iso_utc_h,iso_local_ms_nz,new,last,sort,eval,lower_case,web_safe,is_date,is_string,iso_local_nz,word_list,seq_last_index of,node_命名空间,字符串,键,iso_m_nz,值,seq_index of,chunk,sort_by,iso_m,以,substring,index开始,iso_h,根,地板,iso_h_nz,天花板,如果存在,切碎线,iso_局部_h,长度,可索引,组,is_节点,iso_局部_m,int,iso_utc_ms_nz,xhtml,结尾为,圆形,解释,is_方法,命名空间,短,序列包含,时间,is_编号在节/reports.ftl中
有问题的指令:
----------
==>包括节[section][layout.ftl中第16行第17列]
----------
程序员的Java回溯:
----------
freemarker.template.TemplateException:分析包含的模板节/reports.ftl时出错
模板节/reports.ftl第4行第42列出错
找到的是奇数项,应为以下项之一:is_指令、父项、js_字符串、j_字符串、uncap_first、is_转换、数字、is_哈希、修剪、子项、has_内容、iso_ms、xml、iso_utc、byte、double、left_pad、json_字符串、匹配项、大写、数字_到日期时间、包含项、大小、iso_本地_h_nz、iso_utc_本地_m_nz、is_collec选项,长,默认值,iso_utc_h_nz,iso_local_ms,is_boolean,最后一个索引,c,iso_utc_m_nz,is_macro,rtf,iso_utc_nz,大写,节点名称,反转,大写,url,is_hash_ex,iso_nz,可枚举,存在,编号到日期,第一,iso_local,日期,iso,替换,浮点,右键盘,日期时间,节点类型,拆分,iso_ms_nz,数字到时间,is_顺序,iso_utc_m,html,祖先,iso_utc_h,iso_local_ms_nz,new,last,sort,eval,lower_case,web_safe,is_date,is_string,iso_local_nz,word_list,seq_last_index of,node_命名空间,字符串,键,iso_m_nz,值,seq_index of,chunk,sort_by,iso_m,以,substring,index开始,iso_h,根,地板,iso_h_nz,天花板,如果存在,切碎线,iso_局部_h,长度,可索引,组,is_节点,iso_局部_m,int,iso_utc_ms_nz,xhtml,结尾为,圆形,解释,is_方法,命名空间,短,序列包含,时间,is_编号在节/reports.ftl中
位于freemarker.core.Include.accept(Include.java:162)
访问(Environment.java:221)
位于freemarker.core.MixedContent.accept(MixedContent.java:92)
访问(Environment.java:221)
位于freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:167)
访问(Environment.java:428)
在freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)中
访问(Environment.java:221)
位于freemarker.core.MixedContent.accept(MixedContent.java:92)
访问(Environment.java:221)
位于freemarker.core.Environment.process(Environment.java:199)
位于freemarker.template.template.process(template.java:259)
位于spark.template.freemarker.freemakerengine.render(freemakerengine.java:70)
位于spark.TemplateViewRouteImpl$1.render(TemplateViewRouteImpl.java:61)
位于spark.TemplateViewRouteImpl$1.render(TemplateViewRouteImpl.java:58)
在spark.TemplateViewRouteImpl.render(TemplateViewRouteImpl.java:86)中
在spark.http.matching.Routes.execute(Routes.ja)中
<#list reports as report>
<p><#if report?is_odd_item>left<#else>right</#if></p>
</#list>
Line 4: <#if report?is_odd_item>>
^ (column 42)
<#list reports as report >
<p>${report?item_cycle('left', 'right')}</p>
</#list>