【发布时间】:2011-01-05 02:08:42
【问题描述】:
假设您正在使用 Spring MVC 的 SimpleFormController 版本 2.5.6 为水果供应商编写网页。在这个页面上,供应商可以做一些简单的事情,比如改变他们的名字或地址。他们还可以根据包含当前库存选择的下拉列表更改其库存。
当此下拉列表选择更改时,整个表单会更改以匹配所选内容的清单。因此,一种股票选择可能有香蕉和梨,另一种可能有甜瓜、蓝莓和葡萄柚。
在每个库存选择中都有一个需要传播回数据库的输入字段,为了这个示例,假设用户输入了水果的数量。
在数据库中建模的方式是将每个 Stock 名称存储在一个表中,该表与每个 Stock 的内容存在一对多的关系,这将是本示例中的水果类型。那么水果的类型与供应商选择的数量有一对多的关系。库存名称和每个库存中的水果类型存储在数据库中,用户不可更改,连接的水果数量表是可编辑的。
我的问题是,如何在 Spring MVC 中对上述表单进行建模?
我已经尝试覆盖isFormChangeRequest 和onFormChange 以促进表单更改,但我想我可能误解了这些方法的意图。当我下次发布页面时更改我的支持命令对象时,它会尝试将请求绑定到表单中,如果您调整 Stock 数组的大小(例如从 3 到 2,它将尝试绑定到第 3 个)值,即使它是空的)。
【问题讨论】:
标签: model-view-controller spring forms web-applications spring-mvc