【问题标题】:html form fields as array elements in a struts formhtml表单字段作为struts表单中的数组元素
【发布时间】:2008-12-16 10:37:06
【问题描述】:

我想做的是在一个页面中动态添加 HTML 输入字段,每个字段对应一个 struts 数组属性的元素。假设我在一个 HTML 页面中有许多相同的字段:

当提交表单时,我希望每个字段对应struts表单bean中FormFile数组中的一个元素:

FormFile [] 我的文件;

显然上述方法不起作用,但我正在寻找如何做类似的事情。

编辑: 以上不适用于上传文件和仅 FormFile 类型。

否则,数组元素被映射到输入元素或 html:text 元素实例,直观。那么,为了让我的问题更具体,为什么我不能使用 struts 上传一组文件?

【问题讨论】:

    标签: jsp struts


    【解决方案1】:

    好的,这是一个“对我有用”的解决方案:

    首先,在你的 html/jsp 文件中 name 属性应该被索引:

    文件 1:

    文件2:

    文件 3:

    struts 表单中的“catch”是初始化 FormFile 数组。做这两件事就可以了。请注意根据实际提交的元素数量检查数组的长度,即检查空数组元素。我认为这为根据您的需求调整它提供了一个很好的基准。正如我在问题的最后编辑中所说,对于 或 元素,您在表单 bean 中既不需要索引属性也不需要数组初始化。我真的不知道为什么,我在 apache commons 项目的 org.apache.commons.beanutils.PropertyUtilsBean 类中查了一下:有兴趣的可以看看该类的 set*Property 方法。

    【讨论】:

    • atas 是对的。您可以了解更多here
    【解决方案2】:

    您要查找的内容称为“索引属性”。既然有比我能描述的更好的“方法”,请查看here

    【讨论】:

    • 索引属性似乎是一个不错的方向。我对实际将数据作为数组元素提交的能力持怀疑态度。我还必须采用 struts 文档示例来处理我迄今为止失败的代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 2012-06-04
    • 1970-01-01
    • 2011-05-14
    相关资源
    最近更新 更多