Bonjour à tous !
Je coince depuis hier sur l'erreur suivante :
Ci-dessous le bout de code source de l'erreur. J'ai le nez dedans depuis des heures, j'ai lu, relu, re-relu, fouillé le web... Pas mal de personnes ont eu la même erreur mais je n'ai pas pu faire de parallèle entre leur souci et le mien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part javax.el.PropertyNotFoundException: The class 'java.lang.String' does not have the property '0'.
Un très grand merci d'avance pour votre aide.
PS : pour la petite histoire, il s'agit de la génération dynamique d'une barre de menu à trois niveaux (les libellés et liens sont stockés dans une base de données).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83 <c:forEach items="${model.menus}" var="objA"> <% int nbRubrique = 0; //compteurs pour appliquer le style css adapté int nbRubrique2 = 0; %> <c:set var="menuLibelle" value="${objA[0]}" scope="request" /> <% String menuLibelle = ((String)request.getAttribute("menuLibelle")).toString(); %> <li class="NavBarreMenu" id="NavBarreMenu2"> <a class="BarreMenu" title="<% out.println(menuLibelle);%>" href="#"> <span><% out.println(menuLibelle);%></span> </a> <ul class="NavBLevel2"> <%-- NIVEAU 2 : RUBRIQUE --%> <c:forEach items="${model.rubriques}" var="objB"> <c:set var="menuLibelleRub" value="${objB[0]}" scope="request" /> <c:set var="rubriqueLibelle" value="${objB[1]}" scope="request" /> <c:set var="rubriqueLien" value="${objB[2]}" scope="request" /> <% String menuLibelleRub = ((String)request.getAttribute("menuLibelleRub")).toString(); String rubriqueLibelle = ((String)request.getAttribute("rubriqueLibelle")).toString(); String rubriqueLien = ((String)request.getAttribute("rubriqueLien")).toString(); if(menuLibelleRub.equals(menuLibelle)){ %> <li class="<% if (nbRubrique == 0) { out.println("First"); } if (rubriqueLien.length() == 0) { out.println("First"); }%>" > <% if (rubriqueLien.length() == 0) { out.println("<a><span>" + rubriqueLibelle + "</span></a>"); } else { %> <a href="<% out.println(rubriqueLien);%>" target="_blank"> <span><% out.println(rubriqueLibelle);%></span> </a> <% } nbRubrique += 1; %> <%-- NIVEAU 3 : RUBRIQUE2 (=sous-sous-menus) --%> <ul class="NavBLevel3"> <c:forEach items="${model.rubriquesNiv2}" var="objC"> <c:set var="rubriqueLibelle2" value="${objC[0]}" scope="request" /> <c:set var="rubrique2Libelle" value="${objC[1]}" scope="request" /> <c:set var="rubrique2Lien" value="${objC[2]}" scope="request" /> <% String rubriqueLibelle2 = ((String)request.getAttribute("rubriqueLibelle2")).toString(); String rubrique2Libelle = ((String)request.getAttribute("rubrique2Libelle")).toString(); String rubrique2Lien = ((String)request.getAttribute("rubrique2Lien")).toString(); if(rubriqueLibelle2.equals(rubriqueLibelle)){ %> <li class="<% if (nbRubrique2 == 0) { out.println("First"); } if (rubriqueLien.length() == 0) { out.println("First"); }%>" > <% if (rubriqueLien.length() == 0) { out.println("<a><span>" + rubriqueLibelle + "</span></a>"); } else { %> <a href="<% out.println(rubrique2Lien);%>" target="_blank"> <span><% out.println(rubrique2Libelle);%></span> </a> <% } nbRubrique2 += 1; %> </li> <% } %> </c:forEach> <% nbRubrique2 = 0; %> </ul> </li> <% } %> </c:forEach> <% nbRubrique = 0; %> </ul> </li> </c:forEach>
Niveau 1 : menu; niveau 2 : rubrique, niveau 3 : rubrique2.
Mille mercis !
Partager