0

我在理解如何在单个视图中呈现数据时遇到了另一个问题。

首先,我有一个控制器,它返回我搜索过的汽车列表。这会渲染到屏幕的右侧。现在我需要一个在屏幕左侧的表单,它允许我用要过滤的数据填充一些组合框,例如:

选择要搜索汽车的州:|--| <--- 这是一个包含所有状态的组合框。

选择要搜索的城市:|--| <-- 我们要搜索的城市列表

上面列出的每个组合框都来自不同的实体。

那么如何填充汽车搜索列表(来自 carSearchListController)以及城市和州的

我听说为一个视图调用多个控制器是不好的做法。

我得到的是这样做的最佳做法是什么?我还没有找到任何关于如何以最佳方式做到这一点的好信息。

谢谢

4

1 回答 1

0

您添加到模型或会话中的任何内容都将在您的视图中可用。如果它需要在会话的生命周期中存在,请将其添加到会话中。如果它只需要在请求的生命周期内存在,请将其添加到模型中。有很多方法可以做到这一点,无论是使用注释还是模型对象或 ModelAndView ......这一切都取决于你如何在控制器中编码以及你喜欢使用什么。Spring MVC 以这种方式非常灵活。

如果您希望页面更加“动态”,则解决您的问题的另一种方法是在控制器中加载静态数据位,然后使用 AJAX 请求获取更多动态片段。例如,当大多数网站进行搜索自动完成时,他们通常使用 AJAX 调用后端来加载自动完成的文本列表。

于 2013-02-18T15:58:13.620 回答