我需要帮助以了解使用 Spring MVC
的特定场景的正确方法 -
从服务中我得到一个 Collection 类型。现在,每个类别都有 ID、名称、描述等字段,以及该类别可用的集合。
现在我必须显示一个用户注册表单,除了用户字段(如姓名、电子邮件等)之外,还需要显示这些不同的类别数据。用户可以选择类别以及从该类别列出的产品中选择产品。因此,我需要针对类别名称显示一个复选框,然后显示一个用于显示产品的组合框。
如何在传递给 JSP
的命令对象中捕获此内容。我创建了一个命令作为 UserForm,其中除了用户字段之外,我还有一个 Collection。我可以在 JSP
中迭代它,但是如何捕获该类别的用户选择以及为该类别选择的产品?
我是否需要在表单中保留单独的字段来捕获用户选择(例如 int[]categoryId 和 int[]productId),或者有什么方法可以做到这一点?
请提出您的建议。
谢谢!
最佳答案
您可以在 Spring MVC 中提交多个对象层次结构。
假设你有这样的东西:
public class UserForm {
private List<Category> categories;
...
}
public class Category {
private List<Product> products;
private String name;
...
}
public class Product {
private String name;
}
要提交第一个类别名称,您可以执行以下操作:
<form:input path="categories[0].name" />
要提交第一个产品名称,您可以执行以下操作:
<form:input path="categories[0].products[0].name" />
要提交多个类别/产品,请将 0 替换为您在服务器端 (JSP) 或 Javascript 端设置的索引。在 JSP 上设置索引的示例:
<form:input path="categories[${someIndex}].name" />
关于java - Spring MVC - 在包含多个层次结构的对象中显示和跟踪用户选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12852422/