2014-09-19 13 views
1

템플릿에서 queryString을 하나 얻을 수 있지만 두 개를 관리하지 못했습니다. 이것은 내 컨트롤러 내 라우터 여기Play Framework Multiple QueryStrings

을 만들어 내 router.conf 것을처럼

def get = Action { implicit request => 
    val requestedProviderName = request getQueryString "providerName" 
    val requestedReleaseId = request getQueryString "releaseId" 
} 

입니다 : http://localhost:9000/fail?providerName=oneProviderName 이 모두가 정확하지만 하나 이상의 옵션을 전달하려는. 전망이 너무 기본이기 때문에 내가 가진 무엇

GET /fail         @controllers.mycontroller.get 

,

@helper.form(routes.mycontroller.get) { 
<select name="providerName" class="selectpicker" data-live-search="true"> 
    @for((providerName, failedReleasesNumber) <- providers){ 
    <option id="selectedvalue" value="@providerName" selected="selected"> 
     @providerName, @failedReleasesNumber 
    </option> 
    } 
</select> 

<div class="row-fluid"> 
    <div class="span6"> 
     <label>Start Date: <input type="date" id="startDate"></label> 
     <label>End Date: <input type="date" id="endDate"></label> 
     <label>Release Id: <input type="number" id="releaseId"></label> 
     <label>Results Start?!: <input type="number" id="resultStart"></label> 
     <label>Max Results: <input type="number" id="maxResults"></label> 

     <input type="submit" class="btn btn-primary" value="Get Failed Releases" style="margin-top:-10px"> 
    </div> 
</div> 
} 

내 질문이 더, 나는 이러한 입력을 정의 할 수 있습니다 내가 어떻게 그들을 QueryPath에되고 싶어한다. 그러나 웹을 검색했지만 해결 방법을 찾을 수 없습니다. 라우터에 관한 모든 것을 작성했지만 템플릿으로 정의하는 방법에 대해서는 답변이 없거나 완전히 무언가를 놓치고 있습니다. 나는 질문 1의 스칼라

답변

1

글쎄, 내 대답을 발견했다

<input type="number" name="maxResults" id="maxResults"> 입력 필드의 ID만으로는 충분하지 않으므로 이름 필드도 있어야하며 모든 항목이 정상이어야합니다. 함수에 입력 변수가 필요하지 않습니다. 당신은 템플릿 (보기)에서 입력 변수의 선택적 값을 반환

val requestedProviderName = request getQueryString "providerName"

같은 변수를 얻을 수 있습니다.

2

로 플레이 프레임 워크 2.1.1을 사용하고 있습니다 :

http://localhost:9000/fail?providerName="xyz"&secondQueryString="abc"이 루트에서 다음과 같이 정의

GET /fail controllers.mycontroller.get(providerName: String, secondQueryString: String)

파일과 같은 URL을 사용하고 get(providerName: String, secondQueryString: String)

같은 get 메소드 서명을 수정하려면

질문 2 :

양식 동작이 정의되면 GET 메서드의 경우 기본적으로 모든 입력 필드가 쿼리 문자열로 전달됩니다. URL 파일 경로 파일에 정의 된 동일한 쿼리 문자열 이름과 html 파일에 사용 된 이름을 사용하십시오. 작업이 될 그러나

을 받아야 전에, 예를 들어, 대한 답변으로