2009-12-04 5 views
2

J'ai la composition suivante Facelet:Pourquoi les facelets ignorent l'attribut href d'un lien quand j'utilise <a href="url" jsfc="h:outputLink">?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:ui="http://java.sun.com/jsf/facelets" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:f="http://java.sun.com/jsf/core"> 
<body> 
    <ui:composition> 
     <ul id="navigation"> 
      <li> 
       <a href="http://google.com" id="google1" jsfc="h:outputLink">google.com</a> 
      </li> 
      <li> 
       <h:outputLink id="google2" value="http://google.com"> 
        <h:outputText id="outputtext" value="google.com"/> 
       </h:outputLink> 
      </li> 
     </ul> 
    </ui:composition> 
</body> 
</html> 

Il doit y avoir une erreur parce que ce que je pensais voir est presque le même marqueur HTML final. Mais en réalité voici ce que les facelets ont généré:

<ul id="navigation"> 
    <li><a id="google1" name="google1" href="">google.com</a></li> 
    <li><a id="google2" name="google2" href="http://google.com"><span id="outputtext">google.com</span></a> 
    </li> 
</ul> 

Pourquoi ignorer l'attribut href du premier lien? Quelle est la bonne façon de faire ce que j'essaie de faire?


Encore une autre question: si j'utilise JSFC partout je peux alors que dois-je faire avec des composants de f: namespace? Où devrait être placé <f:view>? Peut-être dans le template.xhtml? Ou je devrais simplement l'ignorer?

Répondre

1

Peut-être un bug dans les facelets. D'ailleurs, pourquoi n'omets-tu pas cet attribut? <a href vous convient.

+0

hm .. comme je comprends h: commandLink fonctionne avec du javascript, mais je veux un lien normal. Je pensais que h: outputLink est un moyen standard dans jsf pour rendre html-link standard simple. – Roman

+0

Je veux dire que html-markup généré pour le second lien (h: outputLink) est ce que je veux vraiment. Mais je veux y parvenir avec jsfc-attribute. – Roman

+0

pourquoi voulez-vous exactement l'attribut jsfc? – Bozho