Как остановить выражения EL для оценки в неотрисованных компонентах JSF? - PullRequest
1 голос
/ 03 декабря 2010

Редактировать: не важно!

Я нахожусь в процессе переключения моего проекта с JSF 1.2 с Facelets на JSF 2 с Facelets. Похоже, что в JSF 2 выражения EL в компонентах, которые не отображаются, оцениваются. Похоже, что это не так в JSF 1.2. Таким образом, вы получаете такие проблемы, как:

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

вызывая исключение NullPointerException, если myBean.myPojo имеет значение null, когда его не было в версии JSF 1.2 моего проекта. Альтернативой является использование c: if для этих случаев (вместо h: panelGroup render = "..."), но это имеет свои проблемы. Может быть что-то еще я делаю не так? Есть ли какая-то конфигурация для этого? Спасибо!

1 Ответ

1 голос
/ 03 декабря 2010

Если это все, что происходит, то это похоже на ошибку в базовой реализации EL.Я предлагаю проверить, есть ли новая версия, если ранее сообщалось об этой проблеме, а если нет - сообщите об этом!:)

...