gpt4 book ai didi

spring - @ModelAttribute 的公共(public)方法太多

转载 作者:行者123 更新时间:2023-12-01 14:45:35 28 4
gpt4 key购买 nike

我有一个 1600 行长的 Controller 。这主要由一堆带有 @ModelAttribute 注释的公共(public)方法填充。它还有一些 @RequestMapping 方法。

我想减少行数并拆分这门课。您如何使用 @ModelAttribute 注释处理多个公共(public)方法?每当处理请求时,它们不是都被调用吗?

最佳答案

I have a controller that is 1600 lines long

吞咽。

How do you handle multiple public methods with @ModelAttribute annotation? Aren't they all invoked whenever a request is processed?

当用于注解一个方法时,这个注解表明该方法的返回值应该被用于为该 Controller 类执行的每个请求填充模型,而不管执行哪个@RequestMapping方法。

我的建议是执行审核以查看哪些 View (例如 JSP)使用由各种 @ModelAttribute 方法提供的哪些模型数据。每个 View 很可能只使用该数据的一个子集。

一旦您确定了 @ModelAttribute@RequestMapping 方法的哪些组合在一起,然后将它们分解为单独的类。

如果那行不通(也许所有的 View 确实使用了所有的数据),那么考虑将 @ModelAttribute 方法完全从类中提取出来,并使用手动将它们的输出合并在一起的单个方法(例如,将 @RequestMapping 方法中的 ModelModelMap 对象传递给这个新方法,然后添加该对象的模型位。

请记住,@ModelAttribute 注释方法只是添加额外模型数据的便捷方式。它们不是唯一的方法。

关于spring - @ModelAttribute 的公共(public)方法太多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9056073/

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