gpt4 book ai didi

java - Spring MVC 和 "big forms"

转载 作者:行者123 更新时间:2023-12-01 15:40:26 24 4
gpt4 key购买 nike

这是一个非常简单的问题。

我想知道向 Spring MVC @Controller 提交巨大 html 表单的最佳实践是什么(巨大 = 超过 20 个字段/复杂字段作为列表等等......)

我有点困惑,因为有人使用这种方法(来自官方示例):

@RequestMapping( value = "/users" , method = RequestMethod.POST )
public ModelAndView saveUser(Locale locale, @Valid User user, BindingResult result) {

if (result.hasErrors()) {

logger.error("Errori form:: " + result.getErrorCount());

} else {

logger.info("Utente salvato");
userService.saveUser(user);

}
...
return mav;
}

还有一些人这样使用更复杂的 SimpleFormController: Spring-MVC forms on GAE

我当然更喜欢第一种方式,但我担心我将不得不创建许多“FormBeans”,无用的 DTO。

你能解释一下差异并给我建议吗?

谢谢。

最佳答案

您的这个示例的目的是使用 Spring 验证。我认为你应该看看 spring 手册或一些帮助,因为它非常基础,但总体思路是 Spring 为你验证表单。

首先,您必须创建一个 Pojo(使用表单中的所有输入以及 getter 和 setter 创建一个类)。

然后,你必须使用 Spring 形式,它与普通形式略有不同。基本思想是将一个对象(在您的例子中为用户)映射到表单。然后,每个输入都映射到 Pojo 的一个字段。

之后,您可以使用注释将验证添加到 Pojo。

@Size(max = 10)
private String name;

例如,此注释 Size 表示字段名称最多必须为 10 个字符。此验证通过注释 @Valid 进行检查。

然后,当调用 hasErrors 时,您可以获取表单是否有错误。

关于java - Spring MVC 和 "big forms",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8137519/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com