2010-07-01 2 views
1

В моем веб-приложении, основанном на MVC Spring, я вручную создаю объект Errors/BindingResult после ручной проверки одного из моих объектов домена. Я могу добавить свой объект домена в модели, делая очевидным:Что такое ключ модели для объекта «Ошибки» в Spring MVC?

model.addAttribute("myObject", myObject); 

После того как я сделать проверку и создали объект Ошибки/BindingResult, под какой ключ следует добавить, что в модели?

Примечание: Я не могу использовать автоматическую проверку, предоставляемую @Valid, и привязать объект моего домена и ошибок на уровне метода. Мне действительно нужно знать, как это сделать вручную.

ответ

1

BindingResult для данной модели добавляется к карте модели с использованием ключей, построенных с использованием комбинации BindingResult.MODEL_KEY_PREFIX и названия модели. если у вас есть копание исходного кода (например, в HandlerMethodInvoker.updateModelAttributes()), вы можете увидеть, как он используется.

Это немного рискованно, однако эта возможность реализации может измениться в будущих версиях Spring.

+0

Я полагаю, они не раскрывают ничего более фиксированного в публичном API? Понимая, что это может измениться в будущем (хотя, вероятно, маловероятно). – GaryF

+0

@GaryF: Не то чтобы я мог видеть, нет. На самом деле ты не собираешься заглядывать туда :) – skaffman