GSP / Grails에서 물음표는 무엇을 의미합니까?



Answers

? 연산자는 Groovy (그리고 GSP)에서 null 값을 허용합니다. 예를 들어, 보통 gsp에서,

<g:field name="amount" value="${priceDetails.amount}" />

priceDetails 가 null 인 경우 NullPointerException 합니다.

우리가 ? 대신 연산자 ...

<g:field name="amount" value="${priceDetails?.amount}" /> 

이제 ${priceDetails?.amount} 의 값은 null 포인터 예외를 던지는 대신 null입니다.

Question

생성 된 GSP 페이지에서 이것을 보았습니다. 그게 뭐야 ? 평균?

<g:textField name="name" value="${phoneInstance?.name}" />



왼쪽에있는 객체가 null이면 안전 탐색 연산자 (?)는 null을 반환하고, 그렇지 않으면 해당 객체의 오른쪽 멤버 값을 반환합니다. 그래서 phoneInstance?.name 은 단지 phoneInstance == null ? null : phoneInstance.name 단축형 phoneInstance == null ? null : phoneInstance.name phoneInstance == null ? null : phoneInstance.name

예 :

a = x?.y

단지 속기 일뿐입니다.

a = (x == null ? null : x.y)

이는 다음의 약식이다 :

if(x == null){
    a = null
} else {
    a = x.y
}



Related