2014-09-15 3 views
1

Play에서 동일한 요청 매개 변수를 여러 번 전달할 수 있습니까? 설명서에서 그것은 request.queryString지도를 반환하지만 중복 된 param 키를 처리하는 방법을 잘 모르겠습니다. 예를 들어Play 및 Scala에서 동일한 요청 매개 변수를 여러 번 전달할 수 있습니까

, 존과 사라 모두가 사진을 검색하기 :

는 대신 같은 키의 매개 변수에 전달

/photo?member=John&member=Sarah

+2

당신이 찾고있는이 그것을인가? http://stackoverflow.com/questions/17164337/get-array-of-one-url-param. – cokeSchlumpf

답변

3

아니요, 불가능합니다. 첫 번째 발생 만 고려됩니다.

어쨌든 당신이 할 수처럼 PARAMS의 목록을 쉼표로 구분 된 인스턴스 사용 : 쉼표 문자로 문자열 배열에

/photo?members=John,Sarah 

다음 split()을.

+0

이것은 HTTP 표준이 아니며 분할 문자를 정의하는 데 추가 논리가 필요합니다. 이름에 ","가 포함되어 있으면 문제가 발생할 수도 있습니다. poliu2s에서 제공하는 URL은 표준이며 소프트웨어가 올바르게 처리해야합니다. 재생은 중복 값을 지원합니다. –

0

, 난 그냥 쉼표로 구분 된 목록 받아 들일 수 있습니다. 예 here.

2

그것은 적어도 재생 2.5, 수 :

// http://localhost:9000/myview?option=qwer=5&option=pass&option=43,56&otherOption=5 

class MyController extends Controller { 
    def myview() = Action { implicit request => 
    println(request.queryString) 

반환 :

Map(option -> Buffer(qwer=5, pass, 43,56), otherOption -> Buffer(5))