2010-12-09 15 views
1

Ich habe ein benutzerdefiniertes Tag, das Spring InputTag erweitert, um Zahlen im Format ",###.0" anzuzeigen. Ich habe eine benutzerdefinierte PropertyEditor für die Klasse Double registriert, um die Formatierung zu behandeln.Feder MVC - Selektive Formatierung

Wenn ein Formular gesendet wird und die Validierung fehlschlägt, sollten alle ungültigen Werte ohne Formatierung unverändert angezeigt werden, damit der Benutzer den Fehler sehen kann, den er gemacht hat. Wie informiere ich das benutzerdefinierte Tag des Validierungsergebnisses, damit es keine Formatierung vornimmt?

Ich benutze Spring MVC 3.

Danke.

Antwort

1

die getPropertyEditor() Methode des AbstractDataBoundFormElementTag überschreiben und das Rück null anstelle von PropertyEditor Instanz (so wird die ValueFormatter nicht den Objektwert zu PropertyEditor passiert Zweck zur Formatierung).

public class CustomInputTag extends InputTag { 
@Override 
protected PropertyEditor getPropertyEditor() throws JspException { 
    if(getBindStatus().getErrors().hasErrors()) { 
     return null; 
    } 
    return super.getPropertyEditor(); 
    } 
}