Spring MVC支持动态填充选择框

时间:2009-07-01 05:43:48

标签: java model-view-controller spring spring-mvc

Spring 2.5(或3.0)是否支持根据用户从其他表单元素中选择的内容动态填充选择列表?

例如,如果您有一个表格,其中2选择(汽车)制造和模型。当用户从第一个列表中选择一个Make时,Model选择应填充该Make的可用模型。

我可以使用jquery / Javascript手动'但是想知道Spring MVC中是否有任何可用的功能来减少所需的腿部工作。

5 个答案:

答案 0 :(得分:1)

这是关于如何填充它的观点和策略。因此,您可以采用两种策略:

  1. 执行真正的服务器往返并评估第一个下拉框中给出的值以填充第二个下拉框。这可以通过非常基本的Spring MVC方法(基于遗留继承的isFormChangeRequest控制器模型完成,或者只是在基于注释的模型中提供与@RequestMapping映射的方法。
  2. 使用JavaScript库并提供专用URL,以便根据第一个框的值读取第二个框的值。 JQuery可能是一个好的开始,但你也可以看一眼SpringJS(包含在Spring WebFlow发行版中)。
  3. 你知道,实际上这是一个关于你对使用JavaScript,服务器往返或数据量有多保守的问题。

答案 1 :(得分:1)

如前所述,Spring并没有真正帮助 - 或阻碍 - 你这样做。

本文有一个完整的Spring 3示例,使用jQuery来完成动态填充。

Spring @MVC 3使用jQuery选择级联 http://bit.ly/sQQHfA

答案 2 :(得分:0)

Spring MVC实际上只是控制器,所以不支持这种功能。

我这样做的方法是使用JQuery并对服务器进行AJAX调用,以便在选择汽车制造时获取模型列表,然后动态填充选择框。

答案 3 :(得分:0)

这不是动态的,并且会重新加载整个页面,但是您可以通过将更新实现为表单更改请求来仅使用Spring MVC执行此操作。这需要覆盖SimpleFormController中的isFormChangeRequest和onFormChange。

答案 4 :(得分:0)

Spring尚未根据另一个列表中的选择为动态填充列表提供任何支持。 SpringJS提供了唯一的客户端javascript功能,其中包括对表单元素修饰的支持。