Templates Struts2更改字段错误.flt
我从struts2 source中获取了fielderror.flt,我想制作一个freemarker宏来自定义显示字段错误,但当宏调用时,我得到以下错误: 应为哈希。fieldErrors的计算结果改为中第190行第22列的freemarker.core.Macro WEB-INF/templates/flt/admin/isis/macros.flt。问题 说明: ==>分配:eKeys=fieldErrors.keySet()[在WEB-INF/templates/flt/admin/isis/macros.flt中第190行第5列]用户指令中 fieldError_a[第6行第17列中 WEB-INF/pages/admin/security/simpleUserGroup/edit/editSimpleUserGroupMainContent.flt] 包括“editSimpleUserGroupMainContent.flt”[第76行第33列] 在 WEB-INF/pages/admin/security/simpleUserGroup/edit/editSimpleUserGroupLayout.flt] 程序员的Java回溯: ----------freemarker.template.TemplateException:应为哈希。fieldErrors的计算结果改为第190行的freemarker.core.Macro, WEB-INF/templates/flt/admin/isis/macros.flt中的第22列。在 freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:135) 在freemarker.core.Dot._getaTemplateModel(Dot.java:78)Templates Struts2更改字段错误.flt,templates,struts2,freemarker,Templates,Struts2,Freemarker,我从struts2 source中获取了fielderror.flt,我想制作一个freemarker宏来自定义显示字段错误,但当宏调用时,我得到以下错误: 应为哈希。fieldErrors的计算结果改为中第190行第22列的freemarker.core.Macro WEB-INF/templates/flt/admin/isis/macros.flt。问题 说明: ==>分配:eKeys=fieldErrors.keySet()[在WEB-INF/templates/flt/admin/is
代码来自原始struts2 flt模板。有什么问题吗?一种解决方案是将struts2标签与freemarker混合使用,如下所示
<#macro fieldErrorsTag>
<div id="system-message-container">
<@s.if test="hasFieldErrors()">
<div class="alert alert-error" id="system-message">
<h4 class="alert-heading"></h4>
<div>
<@s.iterator value="fieldErrors">
<p><@s.property escape="false" /></p>
</@s.iterator>
</div>
</div>
</@s.if>
</div>
</#macro>
但是我认为应该避免混合标记您是说原始模板也使用了
fieldErrors.keySet()
?那么,在您的案例中,是什么定义了fieldErrors
宏?我不知道我没有找到任何注释