정적 제약 조건에 액세스 할 때 NullPointerException을 받고 있습니다

StackOverflow https://stackoverflow.com/questions/214914

  •  03-07-2019
  •  | 
  •  

문제

코드

${personRequest.constraints.requestStatus.inList}

내 GSP 파일에서 a NullPointerException, 하지만 new PersonRequest().constraints.. 공장. 왜요? 그렇지 않습니다 constraints 공전?

도움이 되었습니까?

해결책

복사 여기 (Grails-User 메일 링리스트)

그러나 왜 정적 필드로의 액분이 작동하지 않습니까?

"제약 조건"정적 필드는 폐쇄 속성이기 때문입니다. 제약과 관련된 하위 장점이 없습니다.

Grails는 존재하지 않는 방법, 즉 사용하는 속성 이름에 "호출"을 모니터링하는 구속 조건 빌더를 사용 하여이 클로저를 평가합니다.

type( inList: [xxxxx])

... "inlist"==> 일부 값을 포함하는 맵 매개 변수가있는 "type"로 메소드 호출을 유발합니다.

이 정보에서 Grails는 모든 제약 조건의 목록을 작성합니다.
이용 가능하고 도메인 클래스의 향후 인스턴스에 바인딩합니다.

따라서 사용자에게 액세스 할 때 정적으로 제한하면
폐쇄.

우리는 초기화 된 폐쇄를 평가 한 후 런타임시 정적 구속 조건 속성의 값을 대체하는 것을 볼 수 있습니다. 그러나 이것은 약간 "너무 많은"마법 일 수 있습니다. 사람들은 어떻게 생각합니까?

참고로 0.4까지 (기억한다면) 제약 조건이 정적이 아니었고 0.4에서는 여전히 비 정적이 될 수 있기 때문에 지금은 이와 같습니다. 0.5에서만
비 정적 제약 조건을 예외/무시합니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top