Samples | 错误显示

1 语法错误

\

点击此查看Cat类

因为模板第一行catList后面多了一个逗号,所以错误提示如下

>>语法错:缺少符号')',1行 :
1|<%for(cat in catList,){%>
2|Cat ${cat.name}
3|<%}%>
<<MismatchedTokenException(91!=92)
at org.bee.tl.core.BeeParser.recoverFromMismatchedToken(BeeParser.java:169)
at org.antlr.runtime.BaseRecognizer.match(BaseRecognizer.java:115)
at org.bee.tl.core.BeeParser.forStatment(BeeParser.java:1163)
at org.bee.tl.core.BeeParser.statement(BeeParser.java:442)
at org.bee.tl.core.BeeParser.statements(BeeParser.java:275)
at org.bee.tl.core.BeeParser.prog(BeeParser.java:205)
at org.bee.tl.core.BeeTemplate.parse(BeeTemplate.java:192)
at org.bee.tl.core.BeeTemplate.getText(BeeTemplate.java:228)
at org.bee.tl.core.AbstractTemplate.getTextAsString(AbstractTemplate.java:119)
at org.bee.tl.samples.ErrorDisplay.main(ErrorDisplay.java:23)

2 运行时错误

因为第二个cat是空,所以会抛出空指针,这也是大多数模板语言,jsp出现的问题,beetl显示如下错误

NULL 位于2行,符号 cat
1|<%for(cat in catList){%>
2|Cat ${cat.name}
3|<%}%>
=============================================================
错误栈:
null
at org.bee.tl.core.ExpRuntime.evalVarRef(ExpRuntime.java:638)
at org.bee.tl.core.ExpRuntime.eval(ExpRuntime.java:199)
at org.bee.tl.core.BeeTemplate.parserHolder(BeeTemplate.java:289)
at org.bee.tl.core.BeeTemplate.print(BeeTemplate.java:379)
at org.bee.tl.core.BeeTemplate.print(BeeTemplate.java:446)
at org.bee.tl.core.BeeTemplate.print(BeeTemplate.java:552)
at org.bee.tl.core.BeeTemplate.getText(BeeTemplate.java:236)
at org.bee.tl.core.AbstractTemplate.getTextAsString(AbstractTemplate.java:119)
at org.bee.tl.samples.ErrorDisplay.main(ErrorDisplay.java:23)