2014-09-10 2 views
0

프레임 워크를 처음 사용하고로드 블록을 실행하는 것이 처음입니다. @https://www.playframework.com/documentation/2.3.x/JavaForms 이상의 자습서는 양식 입력을 클래스에 바인딩하여 처리 양식을 보여줍니다. 그러나 필드에 클래스를 바인딩하지 않고 HTML 양식을 처리하려고합니다. 내 양식의Play Framework : POST 매개 변수 처리 중?

예 :

<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 

도움을받을 !!!!!!

답변

1

변수 에는 값이 문자열 배열 인 맵이 들어 있습니다. 따라서 을 사용하면 메서드를 가져 오면 배열이 반환됩니다. 매개 변수의 값에 액세스하려면 첫 번째 요소를 살펴보십시오.

나는 또한 파일을 업로드 할 예정입니다.

final Map<String, String[]> values = body.asMultipartFormData().asFormUrlEncoded(); 
:

<form method="POST" action="form/submit" enctype="multipart/form-data"> 

당신이 POST 데이터에 액세스 :에 폼의 에 enctype을 변경 한 후 잊지 마세요