I have ajax requests that come into my controller and my validation is working great. In the controller I call a failure jsp page if there is a failure. The only problem is that I have no idea how I can output the errors to the user on the failure.jsp page. I don’t have access to the form tags of spring obviously. What should you do in this scenario?
Edit: All I really want to know is how I can access the binding errors on a JSP page when I’m using an AbstractCommandController.
What I’ve done in the past is use HTTP headers to send back messages to the AJAX requester (the XMLHTTPRequest object). You will not get a full binding and validation support this way, but it’s a simple way to pass messages.
Another option that will give you the full power of Spring binding and validation is as follows. I’m assuming you’re submitting a form via AJAX. You could do the standard spring binding and validation, and in the case of an error, send back and replace the form with the exception messages next to the problem input. This way you can leverage the full power of Spring binding and validation while getting the AJAX goodness that you want. This would require you to separate your form into a separate JSP page, so you could just return that form on AJAX submission and error.
In response the comment
I think you can simply set a variable in your model like this:
This would be done in AbstractCommandController’s
method. Be sure the name of the model attribute is the name of your command (set in the setCommandName method).
This is untested and from memory.