我有一个 JSP,它允许用户动态创建额外的表单字段来创建多个对象。也许我想让用户在提交发票表单时能够提交任意数量的行项目。
如何创建一个 Struts 2 Action,它能够接收ArrayList
从这些动态生成的字段创建的对象。
您应该阅读表格输入指南。
根据 (ever-poor) 文档,这迫使您尝试推断您想要的信息,而不仅仅是权威地告诉您(并假设您真的在询问 Struts 的内置类型转换),您的表单字段将需要命名为...
someList.makeNew(0).someField1
someList.makeNew(0).someField2
...
someList.makeNew(1).someField1
someList.makeNew(1).someField1
...
...然后您需要设置一个 ActionClassName-conversion.properties 文件,让类型转换器知道如何处理以 . 开头的字段的类型转换someList
。
我自己唯一一次真正尝试过这个,我很难让它与List
s 一起工作,最终不得不使用Map
s。
这是一篇关于使用类型转换修改Map
对象的有用博客条目- 我没有太多运气找到有关makeNew
文档提到的字段名称格式的有用信息,但这可能会帮助您入门。