gpt4 book ai didi

java - 提供列表框的更好方法

转载 作者:行者123 更新时间:2023-12-01 05:32:36 25 4
gpt4 key购买 nike

通过 ModelAttribute 注解,我们可以提供很多东西,比如列表框。

在 Controller 中使用不同的方法为每个lisbox提供更好的效果,还是使用表单并为每个列表框提供一个对象列表更好?

最佳答案

如果 Controller 类用于不同的请求,其中一些具有此列表框,而另一些则没有,(例如 Controller 处理实体的显示、创建和更新功能,其中只有创建和更新页面具有该列表框)然后使用 @ModelAttribute 注释方法填充模型意味着,即使不需要值,也会执行该方法。 ——我个人认为这会很糟糕。

我希望我正确理解您的问题,如果没有,请为您想要比较的两个选择添加一个示例。

@RequestMapping("/users")
@Controller
TheWayIPreferController() {

@RequestMapping(params = "form", method = RequestMethod.GET)
public ModelAndView createForm() {
ModelMap uiModel = new ModelMap();
uiModel.addAttribute("userCreateCommand", new UserCreateCommand());
uiModel.addAttribute("securityRoles", this.securityRoleDao.readAll()));
uiModel.addAttribute("salutations", this.salutationDao.readAll()));
uiModel.addAttribute("locales", this.localeDao.readAll());
return new ModelAndView("users/create", uiModel);
}

@RequestMapping(method = RequestMethod.POST)
public ModelAndView create(final @Valid UserCreateCommand userCreateCommand, final BindingResult bindingResult) {
...
}


@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public ModelAndView show(@PathVariable("id") final User user) {
...
}
}

而不是:

@RequestMapping("/users")
@Controller
TheWayIDiscourageController(){


@ModelAttribute("securityRoles")
public List<SecurityRoles> getSecurityRoles(){
return this.securityRoleDao.readAll();
}

@ModelAttribute("salutations")
public List<SecurityRoles> getSalutations(){
return this.salutationDao.readAll());
}

@ModelAttribute("locales")
public List<SecurityRoles> getLocals(){
return this.localeDao.readAll();
}

@RequestMapping(params = "form", method = RequestMethod.GET)
public ModelAndView createForm() {
return new ModelAndView("users/create", "userCreateCommand", new UserCreateCommand());
}

@RequestMapping(method = RequestMethod.POST)
public ModelAndView create(final @Valid UserCreateCommand userCreateCommand, final BindingResult bindingResult) {
...
}

@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public ModelAndView show(@PathVariable("id") final User user) {
...
}
}

关于java - 提供列表框的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8729294/

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