Возможно ли иметь <@ spring.showErrors для freemarker's для отображения ошибок в div вместо span - PullRequest
2 голосов
/ 07 июня 2011

Код:

<@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>

Ответы [ 2 ]

6 голосов
/ 08 сентября 2011

@ Майк: кажется, у тебя проблемы с пониманием природы макросов. Они уже написаны скриптом freemarker, чтобы сделать вашу жизнь проще. Вы всегда можете написать заказной .

Некоторые люди думают, что это очевидно, но я сам считаю, что нелегко узнать, как просмотреть исходный код макросов spring-freemarker. Вы можете перейти к пакету org/springframework/spring-webmvc-3.0.5.jar/org/springframework/web/servlet/view/freemarker/spring.ftl в Eclipse "Ссылочные библиотеки".

Вот макрос "showErrors", полученный из "spring.ftl":

<#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

0 голосов
/ 08 июня 2011

Нет, но вы можете легко написать свой собственный макрос, чтобы делать все, что вы хотите.Получите вдохновение от самого spring.showErrors.

...