PlayFramwork新手并遇到障碍。 @ https://www.playframework.com/documentation/2.3.x/JavaForms上的教程通过将表单输入绑定到类来显示处理表单。但是,我想处理HTML表单而不将我的字段绑定到类。
我的表格示例:
<form method="POST" action="form/submit">
<input type="file" name="slider[1][file]" class="thumbnailUpload">
<input type="text" value="http://www.tapiture.com/shop/collection1" name="slider[1][url]" class="form-control">
<input type="file" name="slider[2][file]" class="thumbnailUpload">
<input type="text" value="http://www.tapiture.com/shop/collection1" name="slider[3][url]" class="form-control">
<input type="file" name="slider[2][file]" class="thumbnailUpload">
<input type="text" value="http://www.tapiture.com/shop/collection1" name="slider[3][url]" class="form-control">
</form>
我希望能够像我这样在我的行动中处理这个:
String url = form.get("slider")[0]["url"]
我试过
RequestBody body = request().body();
final Map<String, String[]> values = body.asFormUrlEncoded();
这样做,我只能访问像这样的值
value.get("slider[1][url]")
但是我得到了
[Ljava.lang.String;@4d36e231
HELP !!!!!!
答案 0 :(得分:1)
变量值包含一个映射,其中values是一个字符串数组。因此,使用 get 方法返回一个数组。要访问参数的值,请查看其中的第一个元素。
String value = values.get("slider[1][url]")[0];
我还注意到您要上传文件。在将表单的 enctype 更改为:
后,请不要忘记<form method="POST" action="form/submit" enctype="multipart/form-data">
您可以通过以下方式访问POST数据:
final Map<String, String[]> values = body.asMultipartFormData().asFormUrlEncoded();