IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Un formulaire JSF qui produit du code HTML interne que W3C n'aime pas en XHTML.


Sujet :

JSF Java

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    607
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 607
    Points : 671
    Points
    671
    Par défaut Un formulaire JSF qui produit du code HTML interne que W3C n'aime pas en XHTML.
    Bonjour,

    Dans une page JSF, j'ai ce code-ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
     
    <html xmlns="http://www.w3.org/1999/xhtml">
       <head>...</head>
       <body>
           ...
          <h:form id="loginVisiteurs">
              ...
          </h:form>
       </body>
    </html>
    L'ensemble de ma page se valide en XHTML par le site W3C, à l'exception de fragments générés par JSF lui-même, que j'ai mis en rouge:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <form id="loginVisiteurs" name="loginVisiteurs" method="post" 
    action="/SystemeTest/jsf/web/authentification/login/v2/loginVisiteurs.jsp;jsessionid=B721C7AA7C7AA076DF98C9FE91027725" 
    enctype="application/x-www-form-urlencoded">
       <input type="hidden" name="loginVisiteurs" value="loginVisiteurs" />
       ...
       ...
       <input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="j_id1:j_id2" />
    </form>
    Les erreurs sont:
    - L'attribut name n'existe pas pour la balise <form>.
    - Les deux champs input devraient être dans un <h1>, <h2>, <div>, <p>, <fieldset>...

    Mais il me semble que je n'ai aucun moyen d'agir sur ces lignes générées à la volée. A moins que j'ai oublié un paramétrage spécifique, et que JSF ne soit pas entrain de vouloir, lui, générer du XHTML?

    En vous remerciant,

    Grunt.

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    tu utilise quel version de JSF, je viens de vérifier chez moi, avec myfaces 1.2 ça ne génère pas l'attribut name dans le form.

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    JSF 1.1 (en tout cas chez myfaces) génère le name dans le form et met des input dans le tag form directement. C'est parce que JSF exige que le rendu respecte le HTML 4.0 uniquement. Ce qui rend d'ailleurs difficile de faire une implémentation XHTLM strict, car conflictuelle avec l'obligation d'etre compatible HTML 4.0

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    607
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 607
    Points : 671
    Points
    671
    Par défaut
    Si c'est le cas (je ne le sais pas encore), mon code jsf étant simple, je peux le switcher en 1.2 facilement?
    Il y a un bidule à truquer quelque-part?

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    jsf 1.2 a plus changé au niveau de l'api qu'au niveau des template. Switcher en 1.2 est meme recommandé si tu le peux, vaut mieux le faire maintenant que dans 2 ans quand le projet sera complexe

  6. #6
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    607
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 607
    Points : 671
    Points
    671
    Par défaut
    A priori, je serai déjà en 1.2:

    J'utilise JBoss 5.0.1.GA qui possède JSF 1.2
    et si mon fichier de paramétrage faces-config.xml, ne me trompe pas:

    <faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd" version="1.2">

    je devrais déjà être entrain d'utiliser cette version.

    (Si besoin, mon site est ici, mais je ne vois rien dans le source de sa page qui puisse me dire s'il est en JSF 1.1 ou 1.2).

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    pour info, l'attribut name ainsi que le fait de mettre des input dans la balise form, c'est conforme au xhtml / transitional, donc ta page résultant devrais valider avec ce schéma.

  8. #8
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    607
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 607
    Points : 671
    Points
    671
    Par défaut
    Tout est effectivement passé comme une lettre à la poste en transitional.

    Mais... cela laisse la question: le XHTML strict aurait du m'être accessible en 1.2, ou en fait non, c'était vain d'essayer?

  9. #9
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    la spec JSF parle de HTML4. Des efforts sont fait pour etre xhtml / transitionnal compatible. Mais il est impossible d'être à la fois compliant XHTML 1 strict et en même temps HTML 4 compliant, donc oui, le xhtml strict est assez vain, a moins de réécrire un renderkit xhtml strict

  10. #10
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    607
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 607
    Points : 671
    Points
    671
    Par défaut
    Et bien, merci beaucoup pour ton assistance.
    Je vais pouvoir mettre ce post en résolu.

    C'est toujours beau un site qui passe la validation W3C...
    Je ne me lasse pas de m'impressionner des capacités de ce forum à résoudre des milliers de problèmes éparses.

    Grunt.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/01/2010, 15h04
  2. code de base que je ne comprends pas
    Par poulette3000 dans le forum C
    Réponses: 4
    Dernier message: 26/09/2007, 19h58
  3. Réponses: 3
    Dernier message: 07/08/2007, 16h12
  4. composant qui lit un code HTML
    Par alaa_85 dans le forum VB.NET
    Réponses: 7
    Dernier message: 03/07/2007, 17h19
  5. [VB.Net] visual studio produit il du html au standard W3C?
    Par graphicsxp dans le forum ASP.NET
    Réponses: 8
    Dernier message: 17/02/2006, 14h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo