A quick and dirty test of your approach worked for me. However, as you mentioned I spot a problem concerning the command object's name in the general case too. You face a problem for e.g. <spring:hasBindErrors name="myCommandObject"> for arbitrary command objects. You could circumvent this problem for example by convention (use always "command" as the command object's name) or by additional programming (you could add the command object's name e.g. in #referenceData() of your controller) However, neither approach is perfect.