2016-07-21 13 views
0

Hallo Leute, ich habe einen Controller, der Post-Methode macht. In der Controller-Methode validiere ich eine Entität und wenn es Fehler gibt, werde ich in die Fehlerseite umgeleitet sonst speichere ich die Entität. Mein Code sieht in etwa so ausSpring MVC Wie alle Fehler von BindingResult protokolliert werden

public String createEntity(Entity entity, BindingResult result) { 
    // Validate here 
    if(result.hasErrors) { 
    return "errorPage"; 
    }else { 
     service.create(entity); 
     return "some view"; 
    } 
} 

So jetzt, wenn es Fehler gibt, möchte ich sie alle loggen. Ich habe diesen Artikel

How to get error text in controller from BindingResult

gesehen, aber ich möchte nicht zu Typprüfung.

Gibt es eine kluge Möglichkeit, das zu tun?

Danke, Sorry für mein schlechtes Englisch

Antwort

1

es ist sehr einfach, nur Fehlerliste zu Ihrem Modell

public String createEntity(Entity entity, BindingResult result,Model model) { 
    // Validate here 
    if(result.hasErrors) { 
    model.addAttribute("errors",result.getAllErrors()); 
    return "errorPage"; 
    }else { 
     service.create(entity); 
     return "some view"; 
    } 
} 

später in Ihrem jsp hinzufügen:

<c:if test="${not empty errors}"> 
//foreach element show error (just an exampl) 
</c:if>