當我點擊登錄按鈕,並通過數據庫成功登錄後重定向到hello.ftl頁面。但是,FTL頁面顯示此錯誤Freemarker模板錯誤
Freemarker模板錯誤(DEBUG模式;在生產中使用重新拋出!): 下面已經評估爲空或丟失:==> VAR [模板 「hello.ftl」在第8行,第32列] ----提示:如果已知錯誤表達式 在合法地指向某些有時爲空或缺少 的情況下,可以指定缺省值,如myOptionalVar!myDefault, 或使用< #if myOptionalVar什麼時候存在< #else>何時失蹤。 (這些 只覆蓋了表達式的最後一步;要覆蓋整個 表達式,請使用括號:(myOptionalVar.foo)!myDefault, (myOptionalVar.foo)---- ---- ---- FTL堆棧跟蹤( 「〜」表示與嵌套有關的 ): - 失敗:#macro url relativeUrl額外... [ 模板「spring.ftl」在第89行第1列的「url」中] - 到達 通過:@spring .url「/ logout」,var =「logoutUrl」[模板 「hello.ftl」在第8行,第9列] ---- Java堆棧跟蹤(用於 程序員):---- freemarker.core.InvalidReferenceException :[... 例外消息已打印;請參閱上面...] freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134) 在freemarker.core.EvalUtil.compare(EvalUtil.java:196)在 freemarker.core.EvalUtil.compare(EvalUtil.java:113)在 freemarker.core.ComparisonExpression.evalToBoolean(ComparisonExpression.java:62) 在freemarker.core.BooleanExpression._eval(BooleanExpression.java:30) 在freemarker.core.Expression.eval(Expression.java:81)在
<#import "/spring.ftl" as spring>
<html>
<body>
Welcome
<!-- For login user -->
<@spring.url '/logout' var="logoutUrl"/>
<form action="${logoutUrl}" method="post" id="logoutForm">
<input type="hidden" name="${_csrf.parameterName}"
value="${_csrf.token}" />
</form>
<script>
function formSubmit() {
document.getElementById("logoutForm").submit();
}
</script>
<#if "${pageContext.request.userPrincipal.name != null}"?? >
<span><h2>
User : ${pageContext.request.userPrincipal.name} | <a
href="javascript:formSubmit()"> Logout</a>
</h2></span>
</#if>
</body>
</html>
請告訴我的解決方案,爲什麼這個代碼是不起作用
我已在此hello.ftl頁面中添加了註銷碼,但它會給我freemarker模板錯誤。請查看代碼並告訴我解決方案 –