2017-06-09 4 views
0

J'implémente mon composant personnalisé comme ci-dessous. Placé ce fichier web-> dossier de ressourcesattributs composites renvoie null dans les composants personnalisés jsf

<html 
    xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:composite="http://java.sun.com/jsf/composite" 
     > 
    <h:body> 
     <composite:interface> 
      <composite:attribute name="width" default="300"/> 
      <composite:attribute name="height" default="400"/> 
     </composite:interface> 
     <composite:implementation> 
      <h:inputText style="height: #{composite.attrs.height}px"></h:inputText> 
      <span> #{composite.attrs.height}</span> 
     </composite:implementation> 
    </h:body> 
</html> 

mais attrs.height ne renvoie rien.

composant personnalisé est utilisé comme ci-dessous

<my:mycustom height="40"></my:mycustom> 

Ce que j'ai fait des erreurs ici. Quelqu'un s'il vous plaît aidez-moi à faire cela.

Répondre

0

J'ai trouvé le problème, utilisé les espaces de noms comme composite pour obtenir l'attribut (# {composite.attrs.height}) Mais ce n'est pas correct il semble et utilisé cc au lieu de composite et ses retours correctement.

{cc.attrs.height}