Programing

차이점 ??

lottogame 2020. 12. 11. 07:42
반응형

차이점 ?? , has_content, if_exists in freemarker


freemarker에서 다음의 차이점은 무엇입니까?

!
has_content
?? 
if_exists

나는? has_content 대신에 & 그것은 큰 문제로 이어집니다. 내 하루를 망 쳤어. 나는 이것을 명확히해야한다.

내가 사용했을 때

!(xyz.abc!)?? -- it dint work

내가 사용했을 때

!(xyz.abc!)?has_content ... it did work 

그렇지 않습니까? 또는 has_content 또는 if_exists가 같은 것을 확인합니까?


??왼쪽 피연산자의 값이 누락되었는지 (Java null인지 또는 정의되지 않은 변수가 있음을 의미 함 ) 그에 따라 반환 false(누락) 또는 true(누락되지 않음 )을 반환 합니다.

?has_content길이가 0 인 문자열 또는 빈 FTL 시퀀스 (예 : , Java 배열 등) 또는 빈 FTL 해시 (예 : 등)를 ??반환한다는 점을 제외하면 과 매우 유사 합니다 . ( a , boolean 등을 반환하지 않습니다 .)falsejava.util.Listjava.util.Mapfalse0false

!값이 누락 된 경우 기본값을 제공하는 데 사용됩니다 (다시 말하면 Java null이거나 정의되지 않은 변수가 있음을 의미 함 ) color!"no color". 의 오른손 피연산자를 생략하면 !기본값은 빈 문자열과 빈 시퀀스 및 동시에 빈 해시 (다중 유형 값)이므로 <#list things! as thing>, ${foo!}.

?if_exists쓰기의 오래된 방법입니다 ??. 그것을 사용하지 마십시오.

여기에있는 동안이 모든 연산자는 점 또는 []표현식 의 마지막 단계 user.price!0만 처리합니다. 예 price를 들어에서 누락 된 경우 핸들 만 처리 user하고 user자체가 누락 된 경우 에는 처리 하지 않습니다 . 두 가지 가능성을 모두 다루려면를 사용하십시오 (user.price)!0.를 사용 하면을 평가하는 동안 발생하는 모든 누락 된 변수 오류를 처리합니다 ().

참고 URL : https://stackoverflow.com/questions/23552151/difference-between-has-content-if-exists-in-freemarker

반응형