案例一
假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现在请我们一起开启提升技术之旅吧,详情请点击http://106.12.206.16:8080/qingruihappy/index.html
1.1、错误描述
1 五月 28, 2014 9:56:48 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error
2 严重: Template processing error: "Expression student.course is undefined on line 15, column 24 in course.ftl."
3
4 Expression student.course is undefined on line 15, column 24 in course.ftl.
5 The problematic instruction:
6 ----------
7 ==> ${student.course} [on line 15, column 22 in course.ftl]
8 ----------
9
10 Java backtrace for programmers:
11 ----------
12 freemarker.core.InvalidReferenceException: Expression student.course is undefined on line 15, column 24 in course.ftl.
13 at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:125)
14 at freemarker.core.Expression.getStringValue(Expression.java:118)
15 at freemarker.core.Expression.getStringValue(Expression.java:93)
16 at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
17 at freemarker.core.Environment.visit(Environment.java:221)
18 at freemarker.core.MixedContent.accept(MixedContent.java:92)
19 at freemarker.core.Environment.visit(Environment.java:221)
20 at freemarker.core.Environment.process(Environment.java:199)
21 at freemarker.template.Template.process(Template.java:259)
22 at com.you.freemarker.FreemarkerTemplate.printFtl(FreemarkerTemplate.java:77)
23 at com.you.test.freemarker.FreemarkerTest.studentPrint(FreemarkerTest.java:141)
24 at com.you.test.freemarker.FreemarkerTest.testCourse(FreemarkerTest.java:128)
25 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
26 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
27 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
28 at java.lang.reflect.Method.invoke(Unknown Source)
29 at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
30 at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
31 at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
32 at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
33 at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
34 at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
35 at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
36 at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
37 at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
38 at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
39 at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
40 at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
41 at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
42 at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
43 at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
44 at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
45 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
46 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
47 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
48 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
49
50
51 Expression student.course is undefined on line 15, column 24 in course.ftl.
52 The problematic instruction:
53 ----------
54 ==> ${student.course} [on line 15, column 22 in course.ftl]
55 ----------
56
57 Java backtrace for programmers:
58 ----------
59 freemarker.core.InvalidReferenceException: Expression student.course is undefined on line 15, column 24 in course.ftl.
60 at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:125)
61 at freemarker.core.Expression.getStringValue(Expression.java:118)
62 at freemarker.core.Expression.getStringValue(Expression.java:93)
63 at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
64 at freemarker.core.Environment.visit(Environment.java:221)
65 at freemarker.core.MixedContent.accept(MixedContent.java:92)
66 at freemarker.core.Environment.visit(Environment.java:221)
67 at freemarker.core.Environment.process(Environment.java:199)
68 at freemarker.template.Template.process(Template.java:259)
69 at com.you.freemarker.FreemarkerTemplate.printFtl(FreemarkerTemplate.java:77)
70 at com.you.test.freemarker.FreemarkerTest.studentPrint(FreemarkerTest.java:141)
71 at com.you.test.freemarker.FreemarkerTest.testCourse(FreemarkerTest.java:128)
72 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
73 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
74 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
75 at java.lang.reflect.Method.invoke(Unknown Source)
76 at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
77 at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
78 at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
79 at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
80 at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)