2011-09-05 4 views
2

특정 조건이 충족되는 경우 구성 요소에 대한 조건부 CSS 스타일 클래스를 선언하고 싶습니다. 조건이 충족되지 않으면 스타일을 추가하지 않아야합니다. 나는 보통 이런 식으로 그것을 (지금까지 잘 근무하고있는) :이 null을 가진 어떤 위험한 함정EL 조건부 표현식에서 빈 결과를 지정하는 가장 좋은 방법은 무엇입니까?

<some:tag styleClass="#{someCondition ? 'SomeClass' : null}" /> 

이 OK인가, 또는이 있습니까?

답변

2

위험 함이 없습니다. #{null}은 EL이 응답에 아무 것도 방출하지 않기 때문에 완벽하게 괜찮습니다 (기본적으로 빈 문자열로 평가됩니다).

당신은 또한 때때로이 스타일을 참조

:

System.out.println(someCondition ? "SomeClass" : ""); 

nullString에이 초래 변환 일반 자바 코드에서이 다음과 같이 일반적으로 일반 자바 코드에서 사용되는 스타일입니다

<some:tag styleClass="#{someCondition ? 'SomeClass' : ''}" /> 

"null"에서는 ""이 아니므로 바람직하지 않을 수 있습니다. EL에 익숙하지 않은 사람들을 위해, 위의 스타일은 사실 더 많은 자체 문서화입니다. 그렇지 않으면 과 같은 질문이 표시됩니다. 그러면 "null"이 인쇄되지 않습니까?

관련 문제