Moje zadanie polega na: utworzeniu atrybutu modelu według zadanych parametrów, w celu jego zatwierdzenia (w tej samej metodzie) i nadaniu go całości w widoku.Spring - dodanie BindingResult do nowo utworzonego atrybutu modelu
Dostałam ten przykładowy kod:
@Controller
class PromotionController {
@RequestMapping("promo")
public String showPromotion(@RequestParam String someRequestParam, Model model) {
//Create the model attribute by request parameters
Promotion promotion = Promotions.get(someRequestParam);
//Add the attribute to the model
model.addAttribute("promotion", promotion);
if (!promotion.validate()) {
BindingResult errors = new BeanPropertyBindingResult(promotion, "promotion");
errors.reject("promotion.invalid");
//TODO: This is the part I don't like
model.put(BindingResult.MODEL_KEY_PREFIX + "promotion", errors);
}
return
}
}
To jest pewne prace, ale to część z tworzenia klucza z MODEL_KEY_PREFIX i nazwę atrybutu wygląda bardzo hackish a nie wiosna styl do mnie. Czy istnieje sposób, aby uczynić tę samą rzecz ładniejszą?
Który interfejs i do której klasy jesteśmy w? I w jakiej metodzie? –
Dodano klasę i metodę do kodu. – bezmax
Nie sądzę, że będzie to dobry sposób na zrobienie tego. Weryfikacja powiązania polega na wiązaniu i sprawdzaniu poprawności parametrów, a nie arbitralnych obiektów biznesowych, więc jeśli chcesz to zrobić, będzie to nieco kłopotliwe. – skaffman