Spring - 将绑定结果添加到新创建的模型属性
2022-09-02 14:06:36
我的任务是 - 通过给定的请求参数创建一个模型属性,验证它(在相同的方法中)并将其全部提供给视图。
我得到了这个示例代码:
@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
}
}
这个东西肯定有效,但是创建带有MODEL_KEY_PREFIX和属性名称的密钥的部分看起来非常黑客,对我来说不是Spring风格。有没有办法让同样的东西更漂亮?