JavaServer Faces 2.2 et prise en charge du HTML5, pourquoi est-XHTML encore utilisé
Avoir lu Prise en charge du HTML5 dans JSF 2.2, j'ai été surpris de trouver la même doctype XHTML comme les précédents, les Facelets versions dans le fichier de template créé avec une nouvelle application web dans Netbeans. La seule différence est que la balise HTML lit JSF 2.2:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html">
plutôt que comme suit dans les anciennes JSF versions:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
Il semble un peu mal à garder l'utilisation du XHTML avec la promesse de HTML5 à l'esprit. Je n'ai que la possibilité d'utiliser 2.2 si je choisis de "bibliothèques inscrites" au lieu de "serveur de la bibliothèque". Cela affecte la façon dont le cadre de version est appliqué au projet?
Est Facelets trop dépendante sur le XHTML à la prise en charge de HTML5?
Merci, je vois que maintenant! Je voulais savoir si il y avait une certaine HTML5 verson de facelets. Je pensais que la facelet les balises ont été tout à fait indépendant du code html de lui-même et qu'2.2 permettrait HTML5 type facelets. Apparemment, il n'est pas simple. Ce lien explique comment JSF 2.2 rend les facelets comme HTML5, ce qui est probablement exactement ce que je veux: jsflive.wordpress.com/2013/08/08/jsf22-html5
Lorsque vous accédez à un code source de la page affichée, il aura un doctype HTML5 et tous les nouvelles fonctionnalités semble très bien fonctionner. Seulement Netbeans ne vous donnera pas la saisie semi-automatique d'un aperçu sur les balises HTML5 & attributs.
OriginalL'auteur | 2013-10-04
Vous devez vous connecter pour publier un commentaire.
Il semble que vous avez mal compris le but de XHTML, comme beaucoup de gens au cours de XHTML overhype il y a quelques années. Longue histoire courte: vérifier notre XHTML de la page wiki. Lire attentivement. En un mot, Facelets absolument ne se soucie pas le doctype utilisé dans le code HTML généré en sortie. Vous pouvez parfaitement bien déclarer un doctype HTML5 dans un Facelets modèle.
Il est en effet regrettable que Netbeans par défaut prépare le document doctype XHTML tandis que HTML5 est ces jours-ci l'a recommandé doctype. Je ne fais pas de Netbeans, mais dans Eclipse, vous pouvez facilement modifier les modèles et même créer votre propre. Vous pouvez simplement remplacer la totalité du doctype XHTML par un HTML5. Vous pouvez trouver/créer ces modèles via Web » Fichiers HTML » Éditeur » Modèles en IDE préf.
Veuillez noter que la prise en charge du HTML5 dans JSF 2.2 n'a rien à voir avec le fait d'être en mesure de soutenir spécifiquement le doctype HTML5. Au contraire, c'est pris en charge sur tous les JSF versions, même lorsque héritage JSP est utilisé. JSP et Facelets sont en vue technologies qui vous permet de générer du code HTML de sortie, qui peut parfaitement être HTML5 comme bonne. C'est également développé dans la suite étroitement liés réponse: Est-il possible d'utiliser JSF+Facelets avec HTML 4/5?
Au lieu de cela, la prise en charge du HTML5 dans JSF 2.2 couvre la possibilité de définir des attributs du composant JSF et en tournant HTML personnalisé éléments composants JSF. Ce n'était pas possible dans JSF 2.1 et avant. Tous les attributs du composant JSF (y compris le HTML5 recommandé
data-xxx
attributs) ont été tout simplement ignorés par le défaut JSF convertisseurs. Voir également les éléments suivants liés réponse: Balise HTML personnalisée attributs ne sont pas rendus par JSF. Dans JSF 2.2 vous pouvez facilement spécifier des attributs personnalisés par le nouveauhttp://xmlns.jcp.org/jsf/passthrough
espace de noms comme suit:Ce sera à la fin dans le
<h:inputText>
non pris en charge attributautocorrect
à fait être inclus dans le code HTML généré en sortie. Notez que j'utilise un préfixe d'espace de noms XML dea
("attribut") au lieu dep
comme indiqué dans le tutoriel Java EE, car il serait sinon clash avec XML par défaut préfixe d'espace de nomsp
de PrimeFaces.Tournant personnalisé éléments HTML (y compris les éléments HTML5) en composants JSF est une question de la spécification d'un
jsf
attribut commejsf:id
.Ceux qui vont sous les couvertures être transformé en
UIPanel
(comme<h:panelGroup>
). Et oui, ils sont referencable dans, par exemple,<f:ajax render>
.En d'autres termes, "la prise en charge HTML5" est juste encore un autre mot à la mode pour les "attributs Personnalisés".
server/app/login.xhtml
, mais la page elle-même est le HTML5 et le type de contenu esttext/html
? Ou devrait l'URL soit.html
au lieu de.xhtml
?si le type de contenu est absent, les navigateurs en effet autoguess basé sur l'URL. Heureusement, JSF toujours autoincludes le type de contenu.
OriginalL'auteur BalusC