2016-10-03 12 views
0

Каждый раз, когда я не устанавливаю значение для атрибута привязки (который находится в лицелете), я получаю исключение;JSF - Цель недоступна, идентификатор '' разрешен для null - обходной путь

jsf Target Unreachable, identifier '' resolved to null 

facelet использование обоих способов:

<my:tag ... tagBingingBean="#{myBean}"/> 
<my:tag ... /> causes NPE 

Так что мой вопрос ...

есть способ поймать NPE и игнорировать его в случае привязки не имеет никакого значения?

Благодаря

+0

Да, в один прекрасный момент, я знаю, это создать свой собственный EL-резольвер. Но, возможно, в дополнительном bean-компоненте вы можете проверить, является ли он null и возвращать логическое значение, которое вы используете в атрибуте render вашего тега. Гораздо проще ... предотвращает случайное скрытие реальной ошибки во время разработки. – Kukeltje

+0

@Kukeltje Я не видел пример того, как это сделать: S Это слушатель или ... дайте более подробную информацию – cbhogf

+0

https://www.google.com/search?q=custom+EL+resolver+java – Kukeltje

ответ

0

Ну, я думаю, может быть, я мог понять, как использовать EL JSF 2.0 реально работать его вокруг с помощью http://java.sun.com/jstl/core ...

<composition ...> 
<c:if test="#{not empty tagBingingBean}"> 
    <h:panelGroup ... binding="#{tagBingingBean}">...</h:panelGroup> 
</c:if> 

<c:if test="#{empty tagBingingBean}"> 
    ... 
</c:if> 

</composition> 

Я не уверен, что это окончательное решение но, да, это помогает обойти проблему NPE в случае null значение атрибута привязки

 Смежные вопросы

  • Нет связанных вопросов^_^