代码:
<@spring.formInput 'myForm.spouseEmail' 'id="spouseEmail" class="text"'/>
<@spring.showErrors ', ' 'error'/>
输出:
<span class="error">not a well-formed email address</span>
我想要的是什么:
<div class="error">not a well-formed email address</div>
答案 0 :(得分:6)
@Mike:你似乎很难理解宏的本质。它们是已经编写的freemarker脚本,可以让您的生活更轻松。您可以随时write a customed one。
有些人认为这很明显,但我自己发现要知道如何查看spring-freemarker宏源代码并不容易。您可以导航到Eclipse的“Referenced Libraries”中的包org/springframework/spring-webmvc-3.0.5.jar/org/springframework/web/servlet/view/freemarker/spring.ftl
。
这是从“spring.ftl”获得的宏“showErrors”:
<#macro showErrors separator classOrStyle="">
<#list status.errorMessages as error>
<#if classOrStyle == "">
<b>${error}</b>
<#else>
<#if classOrStyle?index_of(":") == -1><#assign attr="class"><#else><#assign attr="style"></#if>
<span ${attr}="${classOrStyle}">${error}</span>
</#if>
<#if error_has_next>${separator}</#if>
</#list>
</#macro>
要实现您的目标,这非常简单:只需编写一个与上述代码完全相同的自定义宏,将span
替换为div
答案 1 :(得分:0)
不,但你可以轻松编写自己的宏来做任何你想做的事情。从spring.showErrors
本身获取灵感。