Hello,
Je viens vous soumettre un bug tout à fait bizarre !
J'utilise JSF version 1.2_04-b07-FCS, Facelets en version 1.1.11...
J'ai ce code dans ma page:
Je m'amuse à rentrer exactement la valeur xx"> <input value=" (avec les " donc) dans mon inputText et je clique sur le bouton.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <h:form> <h:inputText value="#{fake.test}"/> <h:outputText value="#{fake.test}"/> <h:commandButton action="#{fake.doIt}" value="Do it"/> </h:form>
Tout se passe bien, mon inputText, une fois réaffiché, affiche bien xx"> <input value=". Les charactères HTML ont été "échappés" (escaped) et le code HTML est celui-ci :
(j'ai mis un espace entre le & et le quot; mais dans le source il n'y en a pas)
Code : Sélectionner tout - Visualiser dans une fenêtre à part <input type="text" name="j_id518:j_id523" value="xx& quot;> <input value=& quot;" />
Tout est ok !
Maintenant, je mets une combobox avant mon inputText (ça n'arrive pas si la combobox est après ! ) :
Et je retente...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <h:form> <h:selectOneMenu value="#{fake.label}"> <f:selectItems value="#{fake.elements}"/> </h:selectOneMenu> <h:inputText value="#{fake.test}"/> <h:outputText value="#{fake.test}"/> <h:commandButton action="#{fake.doIt}" value="Do it"/> </h:form>
Bah là, ça marche pû !! Il interprête mon texte comme du HTML, et du coup ça donne ce code HTML (ce que j'ai rentré dans mon inputText est coloré en bleu ci-dessous) :
J'ai fait 2 captures d'écran pour montrer ce que ça donne : test001.jpg pour le 1er cas, test002.jpg pour le second...
Code : Sélectionner tout - Visualiser dans une fenêtre à part <input type="text" name="j_id518:j_id523" value="xx"> <input value="" />
Une idée ???
ps: Dans les 2 cas, le outputText affiche ce qui est attendu, à savoir xx"> <input value=", sans interprétation.
Partager