null 일 수있는 객체에서 문자열 속성을 출력하는 방법
문제
이음새 JSF 페이지의 데이터 가능한 부분의 일부로, 한 열은 이름의 출력이 필요합니다.
<h:outputText value="#{listing.staffMember.name}"/>
문제는 일부 목록에서 "직원"이 Null 일 수 있으므로 오류가 발생한다는 것입니다.
javax.el.ELException: /xxxxx.xhtml @42,67 value="#{listing.staffMember.name}": Error reading 'name' on type xxxx.model.AgentStaff_$$_javassist_152
값이 null이면 텍스트를 렌더링하고 싶지 않습니다. 나는 이것을 시도했다 :
<h:outputText value="#{listing.staffMember.name}" rendered="#{listing.staffMember != null}"/>
그러나 같은 오류가 발생합니다.
NULL 일 수있는 물체의 속성을 어떻게 출력 할 수 있습니까?
해결책
당신은 아마도 할 수 있습니다 3 대 연산자를 사용하십시오, 다음과 같은 것처럼 보일 것입니다.
value="#{listing.staffMember != null ? listing.staffMember.name : 'None'}"
또는 사용할 수 있습니다 C : 태그 인 경우.
다른 팁
이것을 시도해 볼 수 있습니까 (항상 나를 위해 일했습니다) :
<h:outputText value="#{listing.staffMember.name}"
rendered="#{not empty listing.staffMember}"/>
NULL과 비교할 때 차이가 무엇인지 확실하지 않습니다.
제휴하지 않습니다 StackOverflow