我有一个JSP,允许用户动态创建其他表单字段来创建多个对象。也许我想让用户在提交发票表单时能够提交任意数量的订单项。

如何创建一个Struts 2 Action,它将能够接收一个ArrayList,其中填充了从这些动态生成的字段创建的对象。

有帮助吗?

解决方案

您应该阅读表格输入指南

其他提示

根据(穷人)文件,它迫使你试图推断你想要的信息,而不是仅仅权威地告诉你(假设你真的在询问Struts的内置类型转换),你的表单字段需要被命名为像...

someList.makeNew(0).someField1
someList.makeNew(0).someField2
...
someList.makeNew(1).someField1
someList.makeNew(1).someField1
...

...然后你需要设置一个ActionClassName-conversion.properties文件,让类型转换器知道如何处理以“someList”开头的字段的类型转换。

我自己实际尝试过的唯一一次,我无法使用Lists并最终不得不使用地图。

这是一篇关于使用类型转换修改对象地图的有用博客文章 - 我没有太多运气找到有关“makeNew”的有用信息。文档提到的字段名称格式,但这可能有助于您入门。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top