0
Grails 명령 개체/폼에있는 맵에 중첩 레이어를 추가하려고합니다. command 객체에는 현재 otherData라는 맵이 있습니다.Grails 폼, 중첩 된 맵
Map otherData
양식에는 제출할 때지도가 생성되는 아래 표시된 이름 지정 규칙이있는 필드가 있습니다.
<input id="birthDate" name="otheData[birthDate]" type="hidden" value="">
<input id="county" name="otheData[county]" type="hidden" value="">
그런 다음 폼을 제출할 때 내 컨트롤러에서 검색을 수행 할 데이터가 있으면 다른 맵에 바인드합니다.
if(otherData) {
_searchCriteria.otherData = otherData
}
기본적으로 또 다른 계층의 속임수를 갖고 싶기 때문에 다른 키 경로를 확인하고 데이터에 올바른 작업을 수행 할 수 있습니다. 아래 예제 :
중첩 된 맵을 나타 내기 위해 입력 이름을 코드화하려했지만 내 컨트롤러에 중첩 된 맵을 만들지 않았습니다.
<input id="birthDate" name="otheData[relative:[birthDate]]" type="hidden" value="">
이 키 패스
otherData.relative:[birthDate
구조에 또 다른 레이어를 추가 할 수있는 방법이 있나요과지도를 생산?
otheData[relative:[birthDate]]
의 @devdb 덕분에 시도하지만 일반적으로 천 멋진 항목이나 otherData에 대한 참조를 포함하는 중첩 된 검증 객체로 중 결합 것이지만 그것은 트릭 위에서 설명한대로로 – JSchins하지 않았다 Map (3 번째 레이어는 테스트되지 않음)이지만 일반적으로 도메인 모델/개체 모델을 바인딩 할 수 있습니다. 컨트롤러에서'println params'를 사용하여 되돌아 오는 것을 확인하십시오 - 또한 println params.'otheData.relative.birthDate'' – Vahid
만약 다른 끝에 콜렉션이 있다면'fruits' fruits [0] = 사과, 과일 [1] = 오렌지 등은 목록으로 돌아 오는 나의 콜렉션이 될 것입니다. 그런 식으로 두 번 과일의 매개 변수를 받고 목록에 바인딩하면 – Vahid