web-dev-qa-db-fra.com

Quel composant jsf peut rendre une balise div?

Par exemple: h:inputText rendra un "input type='text'". Quelle balise jsf peut rendre un "div" tag?

123
user101442

Vous pouvez créer un composant DIV en utilisant le <h:panelGroup/>. Par défaut, le <h:panelGroup/> générera un SPAN dans le code HTML.

Cependant, si vous spécifiez layout="block", alors le composant sera un DIV dans le code HTML généré.

<h:panelGroup layout="block"/>
222
Romain Linsolas

Dans JSF 2.2, il est possible d'utiliser passthrough elements:

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:jsf="http://xmlns.jcp.org/jsf">
    ...
    <div jsf:id="id1" />
    ...
</html>

L'exigence est d'avoir au moins un attribut dans l'élément en utilisant l'espace de noms jsf.

15
mp31415

Séparé de <h:panelGroup> _ composant (ce qui me surprend un peu), vous pouvez utiliser un <f:verbatim> balise avec le paramètre d'échappement défini sur false pour générer le balisage souhaité. Par exemple:

<f:verbatim escape="true">
    <div id="blah"></div>
</f:verbatim>

Gardez à l'esprit qu'elle est un peu moins élégante que la solution panelGroup, car vous devez la générer pour les balises de début et de fin si vous souhaitez insérer du code JSF dans le code div. .

Alternativement, tous les principaux frameworks d'interface utilisateur ont une balise de composant div, ou vous pouvez écrire la vôtre.

13
Nick Grubb

vous pouvez utiliser le composant tomahawk de myfaces

http://myfaces.Apache.org/tomahawk-project/tomahawk12/tagdoc/t_div.html

3
jack jin