虽然错误很小,但是不注意真的不知道是哪里的错误

 evaluated instead to 这个是关键词

使用的struts2 + freemarker 渲染,今天日志报错了

 

[ERROR] [481976@qtp-20535365-0] (freemarker.runtime:96) - Expected hash. exchange evaluated instead to freemarker.core.Macro on line 10, column 127 in WEB-INF/ftl/huawei/tpl/single_comment.ftl.

Expected hash. exchange evaluated instead to freemarker.core.Macro on line 10, column 127 in WEB-INF/ftl/huawei/tpl/single_comment.ftl.
The problematic instruction:
----------
==> ${exchange.id} [on line 10, column 125 in WEB-INF/ftl/huawei/tpl/single_comment.ftl]
----------

Java backtrace for programmers:
----------
freemarker.template.TemplateException: Expected hash. exchange evaluated instead to freemarker.core.Macro on line 10, column 127 in WEB-INF/ftl/huawei/tpl/single_comment.ftl.
    at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:135)

.....

当时还以为是对象没验证之类的,加上了各种判断${(exchange.id)!0} 还有if的判断,反正是都不行啊,最后说查查这个错误吧,上网找也没有,这里不得不说咱的英语真心不好,要是个过6级的人可能马上就知道了

 

后来查了下翻译才知道那段提示说的是exchange 是freemarker的关键字,不能使用,换了一个别的词立马没问题了

 

其实处理服务器日志错误问题,先上网查也是正确的选择,但是能先翻译下错误提示内容咱就翻译下呗,没准能蒙出来呢

 

其实如果对象为空报的错误应该是undefined

posted on 2012-11-06 11:47  程序猿_哲  阅读(4739)  评论(0编辑  收藏  举报