howto afficher les erreurs de validation dans le template freemarker

toutes les approches-je faire pour afficher mes erreurs de validation dans le template freemarker échouer. j'utilise spring mvc version 3.

Ma forme ressemble à ça

<@layout.basic>
<@spring.bind "user" />
<#if spring.status.error>
    <div class="errors">
        There were problems with the data you entered:
        <ul>
            <#list spring.status.errorMessages as error>
                <li>${error}</li>
            </#list>
        </ul>
    </div>
<#else>
    <div class="errors">
        There are no errors.
    </div>
</#if>
<form action="" method="POST">
    <dl>
        <dt>Login:</dt>
            <dd><@spring.formInput  "user.name" />
            <dd><@spring.showErrors "<br>" />
        <dt>E-Mail:</dt>
            <dd><@spring.formInput "user.email" />
            <dd><@spring.showErrors "<br>" />
        <dt>Password:</dt>
            <dd><@spring.formPasswordInput "user.passwort" />
            <dd><@spring.showErrors "<br>" />
        <dt>Password verification:</dt>
            <dd><input type="password" name="passVerification"/>
            <dd><@spring.showErrors "<br>" />
        <dt>Should the User have administrator rights?</dt>
            <dd><input type="checkbox" name="isAdmin"/>
            <dd><@spring.showErrors "<br>" />
        <br>
            <dd><input type="submit" value="Create" />
    </dl>
</form>

Ma base de mise en page ressemble à ça

<#macro basic> 
<#-- needed for query spring security status -->
<#assign security=JspTaglibs["http://www.springframework.org/security/tags"] />
<!DOCTYPE HTML>
<html>
    <head>
        <title>Testform</title>
    </head>
    <body>
        <div id=header>
            <@security.authorize ifAnyGranted="ROLE_ADMIN">
                <a href='<@spring.url "/user/add" />'>Add user | </a>
                <a href='<@spring.url "/user/manage" />'>Manage users | </a>
            </@security.authorize>    
            <@security.authorize ifAnyGranted="ROLE_USER">
                <a href='<@spring.url "/job/add" />'>Add job | </a>
                <a href='<@spring.url "/job/show" />'>Show jobs | </a>
            </@security.authorize>
        </div>
        <div id=errors>
        </div>
        <div id=content>
            <#nested>
        </div>
        <div id=footer>
            <@security.authorize ifAnyGranted="ROLE_USER">
                <a href='<@spring.url "/j_spring_security_logout" />'>Logout</a>
            </@security.authorize>
        </div>
    </body>
</html>
</#macro>

J'ai défini le printemps.ftl dans ma servlet config

<property name="freemarkerSettings">
    <props>
        <prop key="auto_import">layout.ftl as layout, spring.ftl as spring</prop>
    </props>
</property>

Et mon Contrôleur ressemble à ceci

@RequestMapping( value = "/add", method = RequestMethod.POST ) 
public String addUser(
        @RequestParam(value="isAdmin",defaultValue="false") Boolean isAdmin,
        @RequestParam(value="passVerification" ) String passVerification,
        @ModelAttribute("user") C_UserDAO newUser
) {
    final BindException errors = new BindException( newUser, "user" );
    m_userValidator.validate( newUser, errors );
    ...
    if( !newUser.getPassword().equals( passVerification ) && !newUser.getPassword().equals( "" ) ) {
        errors.rejectValue( "password", "user.password.missmatch", "The passwords aren't equal, try again" );
    }
    if( errors.hasErrors() ) {
        return "addUserForm";
    }
    ...
    return "redirect:thanks.html";
}

La validation fonctionne comme un charme, mais quand une erreur se passe, l'affichage ne change pas, et aucune erreur n'est affichée. J'ai lu la documentation, encore et encore mais je ne trouve pas un clou comment résoudre le problème. Quel est mon erreur?

OriginalL'auteur lofthouses | 2010-10-06