【问题标题】:Play framework form data bind issue播放框架表单数据绑定问题
【发布时间】:2013-09-24 04:47:29
【问题描述】:

我正在尝试将表单发布到控制器,然后将数据绑定到 POJO 对象。这是 POST 数据:

model  = M12345
//one or more hidden fileds with name 'images'
images = a.jpg
images = b.jpg
......

POJO 对象如下所示:

public class ProductForm {
   String model;
   String[] images;
}

控制器代码:

ProductForm form = Form.form(ProductForm.class).bindFromRequest().get();

我期望 form.images 包含所有 POST 图像值。例如['a.jpg', 'b.jpg'],但我只有一个值['a.jpg']。我试图将 POST 数据更改为

model    = M12345
images[] = a.jpg
images[] = b.jpg

但我有一个例外:

InvalidPropertyException: Invalid property 'images[0]' of bean class [forms.product.ProductForm]: Invalid array index in property path 'images[0]'; nested exception is java.lang.ArrayIndexOutOfBoundsException

我该怎么办?非常感谢您的帮助!

【问题讨论】:

  • 您是否尝试在images 字段中使用List<String> 而不是String[]
  • 是的,我试过了。和String[]一样,只有1个值。

标签: java forms data-binding playframework-2.2


【解决方案1】:

如果这是 JSON,则数组应如下所示:

images: [
   a.jpg,
   b.jpg
]  

【讨论】:

  • 其实不是JSON数据,是一个或多个名为“images”的隐藏文件。
  • 是的,我已经尝试了 'images[0] = a.jpg \n images[1] = b.jpg' 并得到了与 'images[]' 相同的异常
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多