Mi tarea es - crear un atributo de modelo por parámetros de solicitud dados, validarlo (en el mismo método) y entregarlo completo a la Vista.Spring: agregar BindingResult al atributo de modelo recién creado
Me dieron este código de ejemplo:
obras seguras@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
}
}
esta cosa, pero esa parte con la creación de llave con MODEL_KEY_PREFIX y nombre de atributo ve muy hacker y no un estilo de primavera para mí. ¿Hay alguna manera de hacer que lo mismo sea más bonito?
¿Qué interfaz y en qué clase estamos? ¿Y en qué método? –
Agregó la clase y el método al código. – bezmax
No creo que haya una buena manera de hacer esto. La validación de enlace está ahí para vincular y validar parámetros, no objetos comerciales arbitrarios, por lo que si quieres hacer eso, va a ser un poco complicado. – skaffman