2010-12-03 3 views
1

편집 : 신경 쓰지 마세요!렌더링되지 않은 JSF 구성 요소에서 EL 표현식이 평가되지 않게하려면 어떻게해야합니까?

Facelets가있는 JSF 1.2에서 Facelets가있는 JSF 2로 프로젝트를 전환하는 중입니다. JSF 2에서 렌더링되지 않은 컴포넌트의 EL 표현식이 평가 된 것처럼 보입니다. 이것은 JSF 1.2의 경우와 같지 않습니다. myBean.myPojo가 null의 경우는 내 프로젝트의 JSF 1.2 버전에서하지 않았다 때

<h:panelGroup rendered="#{not empty myBean.myPojo}"> 
    <h:outputText value="#{myBean.myPojo.pojoProperty}" /> 
</h:panelGroup> 

는, NullPointerException이 원인 : 그래서 당신은 같은 문제를 얻을. 대안은 (h : panelGroup rendered = "..."대신에) 이러한 경우에 c : if를 사용하는 것이지만, 그 자체의 문제가 있습니다. 내가 잘못하고있는 다른 것이있을 수 있습니까? 이것에 대한 몇 가지 구성이 있습니까? 감사!

+1

특정 코드 예에서 NPE가 발생해서는 안됩니다. * 실제 * 코드를 게시하십시오. 그렇지 않으면 실제로 EL에 버그가 있습니다. EL은 즉 nullsafe 될 intented입니다. 그런 다음 사용중인 EL 구현 (servletcontainer)을 언급해야합니다. – BalusC

+0

당신 말이 맞아요. 나는 이것을 일으키는 무관 한 실수를 발견했다. 고맙습니다! – Nick

답변

1

이것이 전부라면, 이것은 EL 구현의 버그처럼 보입니다. 이 문제가 이전에보고 된 경우 새로운 버전이 있는지 확인하고 그렇지 않은 경우보고하십시오. :)

관련 문제