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

Taglibs Java Discussion :

Erreur avec ${fn:length}


Sujet :

Taglibs Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 55
    Points : 33
    Points
    33
    Par défaut Erreur avec ${fn:length}
    Bonjour à tous,

    je me plonge dans les taglib sur une web appli et je rencontre l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    org.apache.jasper.JasperException: javax.servlet.jsp.el.ELException: An error occurred while evaluating function "fn:length"
    Ou encore:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Attempt to coerce a value of type "com.maBoite.monProjet.laServlet" to type "java.lang.Long"
    Le bout de code correspondant dans ma jsp est le suivant :
    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
    <FORM name="selectedDate" method="post" action="">
     
    	<table style="border: 1px, solid, separate; font-size: 8pt;">
    	<tr>
    	<td id="idTableDetailHeaderHome">DATE</td>
     
    	<td>
    	<SELECT id="listAllDates" name="selectedDate" onchange="selectedDate.submit();">
     
    		<c:if test="${fn:length(sessionScope.listAllDates) > 0 }">
    		<c:forEach var="date" items="${sessionScope.listAllDates }">
    		<option value="i"><c:out value="${date}"/></option><br />
    		</c:forEach>
    		</c:if>
    	</SELECT>
     
    	</td>
    	</tr>
    	</table>
    </FORM>
    listAllDates est une ArrayList envoyée depuis la servlet, dont je souhaite afficher les éléments (qui sont des dates) dans une drop down list, et que l'utilisateur puisse selectionner une date (auquel cas il y aura alors un traitement).

    J'aimerai pouvoir verifier si cette Arraylist est vide ou pas, comme condition.

    Quelqu'un aurait été confronté au même problème ?

    Merci pour votre aide

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 55
    Points : 33
    Points
    33
    Par défaut
    Mon problème est en partie résolu, je poste la solution pour ceux que cela pourrait aider

    j'ai modifier les deux lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <c:if test="${fn:length(sessionScope.listAllDates) > 0 }">
    	<c:forEach var="date" items="${sessionScope.listAllDates }">
    en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <c:if test="${not empty sessionScope['listAllDates'] }">
    	<c:forEach var="date" items="${sessionScope['listAllDates ']}">
    car :
    1) il n'est apparemment pas possible d'utiliser fn:length dans une comparaison...
    2) listAllDates est une ArrayList, la syntaxe dans ce cas nécessite les [] pour l'encadrer (chose qu'il ne faut pas faire si elle était de type Map)

    Par contre ma liste déroulante est vide à l'affichage, alors qu'il y a des données qui devraient la remplir.

    Une idée ?

    Bonne fin de journée

  3. #3
    Membre averti Avatar de florentB
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Points : 441
    Points
    441
    Par défaut
    salut

    Depuis le temps je pense que tu as trouvé, mais, est-ce une faute de frappe ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <c:forEach var="date" items="${sessionScope['listAllDates ']}">
    il y a un espace à la fin.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 55
    Points : 33
    Points
    33
    Par défaut
    Bonjour FlorentB
    , oui mon problème est résolu depuis, et j'avais vu cette petite coquille.

    Merci

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

Discussions similaires

  1. Erreur avec un length
    Par Mnementh63 dans le forum PL/SQL
    Réponses: 4
    Dernier message: 17/03/2009, 14h28
  2. Erreur avec procédure LockWorkStation ...
    Par simonseztech dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 16/08/2004, 15h33
  3. [Débutant][Conception] Erreur avec une classe interne
    Par Devil Redneck dans le forum Général Java
    Réponses: 5
    Dernier message: 11/06/2004, 15h45
  4. Erreur avec les ADO
    Par megane dans le forum Bases de données
    Réponses: 7
    Dernier message: 08/03/2004, 21h37
  5. Erreur avec WM_COMMAND (BN_CLICKED)
    Par cyberlewis dans le forum Windows
    Réponses: 2
    Dernier message: 09/02/2004, 00h25

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