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

Tomcat et TomEE Java Discussion :

[Tomcat 5.0] JasperException: cannot resolve symbol : method contains


Sujet :

Tomcat et TomEE Java

  1. #1
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 76
    Points : 61
    Points
    61
    Par défaut [Tomcat 5.0] JasperException: cannot resolve symbol : method contains
    Bonjour à tous,

    J'ai développé une application java avec Tomcat 5.5 et j'ai appris récemment que je devais la déployer sur un Tomcat 5.0. Lorsque je la déploie, j'obtiens une erreur JSP suivante:



    org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP

    Une erreur s'est produite à la ligne: 7 dans le fichier jsp: /WEB-INF/include/header_jeu.jsp
    Erreur de servlet générée:
    C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\650kilometres\org\apache\jsp\WEB_002dINF\vues\jeu\news_jsp.java:96: cannot resolve symbol
    symbol : method contains (java.lang.String)
    location: class java.lang.String
    if (!request.getServletPath().contains("pause")) {
    ^


    Une erreur s'est produite à la ligne: 107 dans le fichier jsp: /WEB-INF/include/header_jeu.jsp
    Erreur de servlet générée:
    C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\650kilometres\org\apache\jsp\WEB_002dINF\vues\jeu\news_jsp.java:179: cannot resolve symbol
    symbol : method contains (int)
    location: interface java.util.List
    if (survivant.getCasesConnues().contains(mcase.getId())) {

    Ce que je ne comprends pas car j'utilise le JDK 1.4.2 dans les 2 cas et la méthode contains est bien présente sur les 2 classes.


    Voici les bouts de codes associés:

    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
     
    <%@ page language="java" errorPage="/WEB-INF/vues/exception.jsp" pageEncoding="ISO-8859-15" contentType="text/html;charset=ISO-8859-15" %>
    <%@ taglib uri="/taglibs/c.tld" prefix="c" %>
    <%@ taglib uri="/taglibs/taglibs-datetime.tld" prefix="dt" %>
    <%@ page import="java.util.*" %>
    <%@ page import="com.omegames.kilometres.domain.*" %>
     
    <%  
    if (!request.getServletPath().contains("pause")) {
    %>
    <c:if test="${survivant.joueur.pause == 'oui'}">
        <c:redirect url="/jeu/pause.html"/>
    </c:if>
    <%
    }
    %>
     
    <% Survivant survivant = (Survivant)request.getAttribute("survivant"); %>
    ....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     <div class="element">
                    <%
                    if (survivant.getCasesConnues().contains(mcase.getId())) {
                        String case_path = "/data/iles/" + mcase.getIle().getId() + "/" + mcase.getPetiteImage();
                        request.setAttribute("case_path", case_path);
                    } else {
                        request.setAttribute("case_path", null);
                    }
                    %>
                    <c:if test="${not empty case_path}">
                        <img src="<c:url value="${case_path}"/>">
                    </c:if>
                </div>

    Y a-t-il quelque chose que j'ignore concernant tomcat 5.0? Quelqu'un sait-il pourquoi j'ai cette erreur?

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Points : 1 371
    Points
    1 371
    Par défaut
    Peut-etre parce que la methode

    request.getServletPath().contains("pause")

    ne se fait pas sur un String mais plutot CharSequence.


    Pour ca :
    survivant.getCasesConnues().
    Je ne peux rien dire. Je ne connais pas le type Survivant, désolé, c'est pas standard Java ca!
    Une solution a été apporté pour résoudre votre problème alors vous aussi faites en profitez les autres grâce au tag qui se trouve tout en bas de la page....

    Merci de ne pas utiliser les messages privés pour un problème sauf si je vous l'ai explicitement demandé.

    -- Maxf1 --

  3. #3
    Membre expérimenté Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Points : 1 371
    Points
    1 371
    Par défaut
    Mais si je déchiffre bien l'erreur, getCaseConnues renvoi une ArrayList.
    Si c'est bien le cas il n'y a pas de methode contains sur un int. Mais sur un Object!
    Une solution a été apporté pour résoudre votre problème alors vous aussi faites en profitez les autres grâce au tag qui se trouve tout en bas de la page....

    Merci de ne pas utiliser les messages privés pour un problème sauf si je vous l'ai explicitement demandé.

    -- Maxf1 --

  4. #4
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 76
    Points : 61
    Points
    61
    Par défaut
    tu as tout à fait raison maxf1, je te remercie beaucoup.

    Le problème ne venait pas de tomcat mais du jdk utilisé. J'ai développé en utilsant un jdk 1.5 et je déploie sur une machine qui possède un jdk 1.4.2.

    La méthode contains n'existe effectivement pas en 1.4.2 et il semblerait que le cast se faisait tout seul entre int et Integer, ainsi que entre String et CharSequence.

    Pour contourner le fait que contains n'existe pas, j'ai utilisé matches("*pause*");

    Je continue mon débuggage de portage, maintenant je n'ai plus les erreurs ça ca va être plus compliqué

    Merci beaucoup

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

Discussions similaires

  1. Probleme alert cannot resolve symbol
    Par tagada30 dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 03/10/2008, 10h51
  2. Cannot resolve collation conflict for UNION.
    Par mister_toto dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 03/05/2006, 16h13
  3. Cannot resolve collation conflict for equal to operation !
    Par mcrocher dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 07/03/2005, 12h08
  4. [Tomcat 4.1][Struts] Cannot find global ActionForward....
    Par otminou dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 13/09/2004, 12h04
  5. [setParameter]cannot resolve symbole
    Par DEC dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 07/07/2004, 20h15

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