2016-10-03 5 views
0

Chaque fois que je ne définis pas de valeur pour l'attribut de liaison (qui se trouve dans facelet), j'obtiens l'exception;JSF - Cible inaccessible, identificateur '' résolu à null - solution de contournement

jsf Target Unreachable, identifier '' resolved to null 

L'utilisation Facelet deux façons:

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

Donc ma question est ...

est-il un moyen d'attraper le NPE et l'ignorer dans le cas où la liaison n'a pas de valeur?

Merci

+0

Oui, une façon que je connais est de créer votre propre résolveur EL. Mais peut-être dans un bean supplémentaire, vous pouvez vérifier si elle est nulle et retourner un booléen que vous utilisez dans l'attribut rendu de votre balise. Beaucoup plus facile ... empêche le masquage accidentel d'une erreur réelle pendant le développement. – Kukeltje

+0

@Kukeltje Je n'ai pas vu l'exemple de la façon de le faire: S Est-ce un auditeur ou ... donner plus de détails s'il vous plaît – cbhogf

+0

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

Répondre

0

Eh bien, je suppose que je pourrais peut-être comprendre comment utiliser EL JSF 2.0 pour travailler vraiment autour de l'utilisation 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> 

Je ne suis pas sûr que c'est une solution finale mais, oui, il aide à contourner le problème NPE en cas de null valeur d'attribut de liaison