Java, html, javascript et fonction split
Résolu
batoune
Messages postés
538
Date d'inscription
Statut
Membre
Dernière intervention
-
batoune Messages postés 538 Date d'inscription Statut Membre Dernière intervention -
batoune Messages postés 538 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je vais essayer d'être aussi clair que possible pour expliquer mon problème :
J'ai une page web dans laquelle je veux mettre une liste déroulante
Pour faire ma liste déroulante je récupère un string passer en paramètre avec dedans la liste des valeur sous la forme "val1|val2|val3"
Ensuite je fais un String[] tabValeur=maliste.split("|"); pour récupéré mes valeurs dans un tableau
et une boucle for de 0 a tabValeur.length pour remplir ma liste
Mon problème viens du fait que apparemment la fonction "split" ne découpe pas ma chaine seulement sur les caractère "|" mais sur chaque caractères.
Du coup dans ma page web, au lieu d'avoir ma liste :
val1
val2
val3
j'ai :
v
a
l
1
|
v
a
l
2
|
....
....
Si vous pouviez m'aider a trouver d'où ça viens....
N'hésiter pas à me demander des précisions si besoin
merci d'avance
Ci dessous le bout de code qui pose problème :
Je vais essayer d'être aussi clair que possible pour expliquer mon problème :
J'ai une page web dans laquelle je veux mettre une liste déroulante
Pour faire ma liste déroulante je récupère un string passer en paramètre avec dedans la liste des valeur sous la forme "val1|val2|val3"
Ensuite je fais un String[] tabValeur=maliste.split("|"); pour récupéré mes valeurs dans un tableau
et une boucle for de 0 a tabValeur.length pour remplir ma liste
Mon problème viens du fait que apparemment la fonction "split" ne découpe pas ma chaine seulement sur les caractère "|" mais sur chaque caractères.
Du coup dans ma page web, au lieu d'avoir ma liste :
val1
val2
val3
j'ai :
v
a
l
1
|
v
a
l
2
|
....
....
Si vous pouviez m'aider a trouver d'où ça viens....
N'hésiter pas à me demander des précisions si besoin
merci d'avance
Ci dessous le bout de code qui pose problème :
<% String maListe = request.getParameter("maListeDeVal"); if (maListe != null) {%> <%String[] tabValeur = maListe.split("|");%> <select name="listeDeChoix" id="listeDeChoix" onchange="show('reload')"> <option></option> <%for (int i = 0; i<tabValeur .length;i++){%> <%String tmp = tabvaleur [i]; <option value="<%=tmp %>" id="listeDeChoix_<%=tmp %>"><%=tmp %></option> <%}%> </select> <%}%>
A voir également:
- Java, html, javascript et fonction split
- Fonction si et - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Split cam - Télécharger - Messagerie
- Eclipse java - Télécharger - Langages
1 réponse
split prend en paramètre une expression régulière, or le symbole | est réservé dans l'expression des Pattern pour faire un OU logique. Ainsi, split("|") représente un Pattern X|Y avec X et Y qui représentent le mot nul, du coup chaque caractère est récupéré car il y a une infinité de mots nuls entre chacun d'eux.
Pour faire ce que tu veux tu devrais échapper ce caractère spécial pour au final avoir un split("\\|");
Je n'ai pas testé mais je te laisse confirmer que ça marche mieux (ou non) comme ça...
La confiance n'exclut pas le contrôle
Pour faire ce que tu veux tu devrais échapper ce caractère spécial pour au final avoir un split("\\|");
Je n'ai pas testé mais je te laisse confirmer que ça marche mieux (ou non) comme ça...
La confiance n'exclut pas le contrôle
C'était tout con effectivement......
Merci