当我点击登录按钮并在成功登录数据库后重定向到hello.ftl页面。但ftl页面显示此错误
FreeMarker模板错误(DEBUG模式;在生产中使用RETHROW!): 以下评估为null或缺失:==> var [在模板中 “hello.ftl”在第8行,第32列----提示:如果失败的表达式 众所周知,在法律上是指某些有时无效的东西 丢失,要么指定默认值,如myOptionalVar!myDefault, 或者使用< #if myOptionalVar ??> when-present<#else> when-missing。 (这些 只涵盖表达的最后一步;覆盖整体 表达式,使用括号:(myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL堆栈跟踪(“〜”表示 嵌套相关): - 失败于:#macro url relativeUrl extra ... [in 模板“spring.ftl”在第89行第1列的宏“url”中 - 达到了 通过:@ spring.url“/ logout”,var =“logoutUrl”[在模板中 第8行第9列的“hello.ftl”---- Java堆栈跟踪(for 程序员):---- freemarker.core.InvalidReferenceException:[... 已打印异常消息;见上面......] freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134) 在freemarker.core.EvalUtil.compare(EvalUtil.java:196)at freemarker.core.EvalUtil.compare(EvalUtil.java:113)at freemarker.core.ComparisonExpression.evalToBoolean(ComparisonExpression.java:62) at freemarker.core.BooleanExpression._eval(BooleanExpression.java:30) 在freemarker.core.Expression.eval(Expression.java:81)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<input type="text" name="txt" class="mytxt">
<input type="button" class="submmit" value="Shoot">
</div>
<div class="areaofcontent" style="width:68%;float:right; background-color:#eee;height:400px;overflow-y:scroll;">
<div class="putbullet"></div>
</div>
请告诉我解决方案,为什么此代码无效
答案 0 :(得分:0)
它会尝试将var="logoutUrl"
解释为var == "logoutUrl"
,从而查找名为var
的变量。为避免这种情况,必须通过名称传递所有参数:
<@spring.url relativeUrl='/logout' var="logoutUrl"/>
虽然给出了额外的参数名称和值,但我不确定你的意思是什么。也许你只是想<@spring.url logoutUrl />
?