Bonjour, j'ai une jsp dans laquelle je fais appel à une méthode d'une classe java, le soucis étant que cette méthode n'est pas reconnue et ça me met le message suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Une erreur s'est produite à la ligne: 158 dans le fichier jsp: /integration/demande/formulaireDemandeLog.jsp
Erreur de servlet générée:
The method dejaEnBase(BigDecimal, BigDecimal) is undefined for the type UtilisateurApplicationDAO
voici le code complet de la jsp:
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
<%-- auteur: CADIC Florian --%>
<%@ taglib uri="http://displaytag.sf.net" prefix="display" %>
<%@ page import="fr.sdis44.annu.hibernate.*" %>
<%@ page import="fr.sdis44.annu.servlet.Action" %>
<%@ page import="fr.sdis44.annu.hibernate.dao.ApplicationDAO" %>
<%@ page import="fr.sdis44.annu.hibernate.dao.UtilisateurApplicationDAO" %>
 
<%@ page import="java.util.*	" %>
<% 
Utilisateur utilisateurLog = (Utilisateur)session.getAttribute("utilisateurLog");
String path = request.getContextPath(); 
String basePath = "http://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%>
<html lang="fr" xml:lang="fr" dir="ltr" xmlns="http://www.w3.org/1999/xhtml" >
<head>
  <base href="<%=basePath %>"  />
 
  <meta http-equiv="Content-Type" content="text/html"; charset="UTF-8" />
  <title>SDIS 44 - Formulaire de demande Logicielle</title>
 
  <link rel="stylesheet" href="css/csspacker.jsp?css=css/jalios/channel.css&amp;css=css/jalios/admin.css&amp;css=css/custom.css&amp;css=css/custom_bo.css" type="text/css" media="all" />
  <link rel="stylesheet" href="css/jalios/ctxmenu.css" type="text/css" media="all" />
 
 
  <link rel="shortcut icon" href="images/jalios/icons/jalios.ico" />
	<!--[if IE 7]><link rel="stylesheet" type="text/css" href="css/portal/ie7pc.css" media="screen" /><![endif]-->
	<!--[if lt IE 7]><link rel="stylesheet" type="text/css" href="css/portal/ltie7pc.css" media="screen" /><![endif]-->
	<!--[if IE 6]><link rel="stylesheet" type="text/css" href="css/portal/ie6pc.css" media="screen" /><![endif]-->
 
	<style  type="text/css" media="screen">
			.even {background-color:#FAFAFA; font-family: Arial, Helvetica, sans-serif; font-size: 10pt}
			.odd {background-color:#F0F0F0; font-family: Arial, Helvetica, sans-serif; font-size: 10pt}
			th.listHeader {color:#FFFFFF;  background-color: #A3BAFF; font-family: arial, helvetica, sans-serif; font-weight: bold; text-align: center; font-size: 10pt; white-space:nowrap;}
  		.tab-row .tab, .tab-row .tab_selected {font-size: 13px; }
  		.tab-single-pane, .tab-page {padding: 10px !important; padding: 0px 10px 0px 10px;}
  		.formButton {font-size: 13px;}
  </style>   
 
 
  <script src="js/lib/jsonrpc.js" type="text/JavaScript" language="JavaScript"></script>
  <script src="js/lib/prototype.js" type="text/JavaScript" language="JavaScript"></script>
  <script src="js/lib/cookies.js" type="text/JavaScript" language="JavaScript"></script>
  <script src="js/lib/ufo.js" type="text/JavaScript" language="JavaScript"></script>
  <script src="js/lib/builder.js" type="text/JavaScript" language="JavaScript"></script>
  <script src="js/lib/effects.js" type="text/JavaScript" language="JavaScript"></script>
  <script src="js/lib/dragdrop.js" type="text/JavaScript" language="JavaScript"></script>
  <script src="js/lib/controls.js" type="text/JavaScript" language="JavaScript"></script>
  <script src="js=js/lib/slider.js" type="text/JavaScript" language="JavaScript"></script>
  <script src="js/calendar/calendar.js" type="text/JavaScript" language="JavaScript"></script>
  <script src="js/calendar/lang/calendar-fr.js" type="text/JavaScript" language="JavaScript"></script>
  <script src="js/calendar/calendar-setup.js" type="text/JavaScript" language="JavaScript"></script>
  <script src="js/jalios/util.js" type="text/JavaScript" language="JavaScript"></script>
 
  <script src="js/channel.js?contextPath=%2Fjcms" type="text/JavaScript" language="JavaScript"></script>   
 
  <script src="js/jspacker.jsp" type="text/JavaScript" language="JavaScript"></script>
  <script src="js/tabpane.js" type="text/JavaScript" language="JavaScript"></script>
  <script src="js/tree.js" type="text/JavaScript" language="JavaScript"></script>
  <script src="js/treegroup.js" type="text/JavaScript" language="JavaScript"></script>
  <!--  js/widget.js  -->
  <script src="js/custom.js" type="text/JavaScript" language="JavaScript"></script>
  <script src="js/treecat.js" type="text/JavaScript" language="JavaScript"></script>
  <script src="js/jalios/textarea-resizer.js" type="text/JavaScript" language="JavaScript"></script>
 
 
 
  <script src="js/jspacker.jsp?js=js/jalios/admin.js&amp;js=js/custom.js&amp;js=js/custom_bo.js" type="text/JavaScript" language="JavaScript"></script>
  <script src="js/jalios/admin-notes.js" type="text/JavaScript" language="JavaScript"></script>
 
 
 
 
  <script language="JavaScript" type="text/javascript">
  
                function majuscule(entree){
                        
                        var minus = "a\340\341\342\343\344\345bc\347de\350\351\352\353fghi\354\355\356\357jklmno\362\363\364\365\366pqrstu\371\372\373\374vwxyz_ ";
                        var majus = "AAAAAAABCCDEEEEEFGHIIIIIJKLMNOOOOOOPQRSTUUUUUVWXYZ--";
                        var sortie = "";
                        for (var i = 0 ; i < entree.length ; i++)
                        {
                                var car = entree.substr(i, 1);
                                sortie += (minus.indexOf(car) != -1) ? majus.substr(minus.indexOf(car), 1) : car;
                        }
                        return sortie;
                } 
                
        
       
  </script> 
 
</head>
 
<body >
 
 
 
 
 
<h1 class="boTitle"> 
  Formulaire de demande d'installation de logiciel 
</h1>
<form action="" method="POST">
<input type="hidden" name="nomPage" id="nomPage" value="formulaireDemandeLog" />
<h4 align="right"><%=utilisateurLog.getNom()%> <%=utilisateurLog.getPrenom()%></h4>
<h4 align="right"> <input type="submit"  name="deco" value="Retour accueil" /> </h4>		
 
 
 
 
		<!--  liste des applications -->
 
		<div class="tab-pane" id="mainTab">
 
			<div class="tab-page">
 
 <% //partie liee a la gestion des erreurs concernant la saisie
                                       List messages = (List)request.getAttribute("messages");
                                       if (messages!=null) {                  
                                                Iterator it = messages.iterator();
                                                while (it.hasNext()) {
                                                        String message = (String)it.next();                                     
                                    %>
			            		<font color="red"><h3><b><%=message %></b></h3><br /></font>
			            <%
                                          } // end while
                                       } // end if
                                    %>
 
									<%
                                                                                Exception e = (Exception)request.getAttribute("exception");
                                                                                if (e!=null) {
                                                                                        %>
											<font color="red"><%= e.getMessage() %><br /></font>
											<%
                                                                                }
%>
 
 
				  <table  cellspacing="3" cellpadding="3" border="0" class="FicheIndividuelle" width="100%" height="400px">                     
				  	<tr>      
				   		<td width="20%">
				   		</td>
				   		<td>
						  		<h5 align=center> Veuillez s&eacute;lectionner les applications que vous souhaitez </h5>
						  		<hr size="1" noshade="noshade" /><br>
								<table border="0" align="center" cellspacing="3" cellpadding="3" >
									<tr>
										<td>
											Applications :
 
										</td>
										<td>
											Profils :
 
										</td>
									</tr>
									<%
                                                                                Iterator it1 = ApplicationDAO.getInstance().findAll("libelleApplication").iterator(); 
                                                                                Iterator it2;
                                                                                String p=null;
                                                                                String s=null;                          
                                                                                int cpt=0;
                                                                                while(it1.hasNext()){ 
                                                                                        Application appli =(Application)it1.next(); 
                                                                                        s=appli.getLibelleApplication();
                                                                                        System.out.println("idApp="+appli.getId());
                                                                                        System.out.println("idUti="+utilisateurLog.getId());
                                                                                        
                                                                                        boolean exist = UtilisateurApplicationDAO.getInstance().dejaEnBase(utilisateurLog.getId(),appli.getId());
                                                                                        if(exist == true){
                                                                                            
                                                                                        }
                                                                                        else{
                                                                                        %> 
											<tr>
												<td>
													<input type="checkbox" id="application<%=cpt%>" name="application<%=cpt%>" value="<%=appli.getId()%>"> <%=s%></input>
												</td>
												<td>															
 
													<select id="profils<%=cpt%>" name="profils<%=cpt%>">
													<%      
                                                                                                        it2 = GetList.getProfilList(appli.getId()).iterator();
                                                                                                        while(it2.hasNext()){
                                                                                                        Profil prof = (Profil)it2.next();
                                                                                                        p=prof.getLibelleProfil();
                                                                                                        %>
													<option value="<%=prof.getId()%>"> <%=p%></option>
													<%}%> <!-- fin while profils -->
													</select>
													<%cpt++;%>
												</td>	
											</tr>
										<%}
                                                                                }%> <!-- fin while applications -->
										<input type="hidden" name="nbAppli" value="<%=cpt%>" />  
									<tr>
										<td>
											Autre :
										</td>
										<td>
											<textarea type="textarea" rows="5" cols="20" id="applicationLibre" name="applicationLibre" ></textarea>
										<td>
									</tr>		
 
								</table>
 
				  				<div class="UI_EDITOR_TEXTFIELD" align=center>
						  			<hr size="1" noshade="noshade" />
 
				  					<input type="submit" class="formButton mainButton" id="validerChoixAppli" name="validerChoixAppli" value="Suivant"  />
				  					&nbsp;&nbsp;		
				  				</div>				    		
				        </td>
				        <td width="20%">
				        </td>
				    </tr>
				  </table>
			</div>
		</div>
</form>		
</body>
</html>
la partie de la jsp concernée:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
	boolean exist = UtilisateurApplicationDAO.getInstance().dejaEnBase(utilisateurLog.getId(),appli.getId());
											if(exist == true){

et la classe java:
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
package fr.sdis44.annu.hibernate.dao;
 
import java.math.BigDecimal;
import java.util.List;
 
import org.apache.log4j.Logger;
import org.hibernate.HibernateException;
import org.hibernate.Query;
 
import fr.sdis44.annu.hibernate.Etat;
import fr.sdis44.annu.hibernate.HibernateUtil;
import fr.sdis44.annu.hibernate.Profil;
import fr.sdis44.annu.hibernate.Utilisateur;
import fr.sdis44.annu.hibernate.UtilisateurApplication;
import fr.sdis44.annu.hibernate.base.BaseUtilisateurApplicationDAO;
import fr.sdis44.annu.hibernate.compositeKeys.UtilisateurApplicationPK;
 
/**
 * @author CADIC Florian
 * This class has been automatically generated by Hibernate Synchronizer. For
 * more information or documentation, visit The Hibernate Synchronizer page at
 * http://www.binamics.com/hibernatesync or contact Joe Hudson at
 * joe@binamics.com.
 * 
 * This is the object class that relates to the COMPTE_APPLICATION table. Any
 * customizations belong here.
 */
public class UtilisateurApplicationDAO extends BaseUtilisateurApplicationDAO {
 
    private static final Logger logger = Logger
	    .getLogger(UtilisateurApplicationDAO.class);
 
    /**
     * 
     * @return
     * @throws HibernateException
     */
    public List findByUser(Utilisateur user) throws HibernateException {
	logger.info("UtilisateurApplicationDAO.findByUser(" + user + ");");
	if (user == null)
	    return null;
 
	return HibernateUtil
		.currentSession()
		.createQuery(
			"from Application a where a.id in (select Id.IdApplication from UtilisateurApplication ua where ua.Id.IdUtilisateur='"
				+ user.getId() + "')").list();
 
    }
 
    public Profil findProfil(BigDecimal idUser, BigDecimal idApp) {
	logger.info("UtilisateurApplicationDAO.findProfil" + idUser + ","
		+ idApp);
	if (idUser == null || idApp == null)
	    return null;
 
	return (Profil) HibernateUtil
		.currentSession()
		.createQuery(
			" from Profil p where p.id in ( select up.Id.IdProfil from UtilisateurProfil up where Id.IdUtilisateur ="
				+ idUser + " and p.application =" + idApp + ")")
		.uniqueResult();
    }
 
    public Etat findEtat(BigDecimal idUser, BigDecimal idApp) {
	logger.info("UtilisateurApplicationDAO.findEtat");
	if (idUser == null || idApp == null)
	    return null;
 
	return (Etat) HibernateUtil
		.currentSession()
		.createQuery(
			" from Etat e where e.id in ( select ua.etat from UtilisateurApplication ua where Id.IdUtilisateur ="
				+ idUser
				+ " and ua.Id.IdApplication ="
				+ idApp
				+ ")").uniqueResult();
    }
 
    public List findAllByMember(Utilisateur user) {
	logger.info("UtilisateurApplicationDAO.findAllByMember(" + user + ");");
	if (user == null)
	    return null;
	return HibernateUtil.currentSession().createQuery(
		"from UtilisateurApplication ua WHERE ua.Id.IdUtilisateur= '"
			+ user.getId() + "'").list();
    }
 
    public UtilisateurApplication findById(UtilisateurApplicationPK key)
	    throws org.hibernate.HibernateException {
	logger.info("UtilisateurApplicationDAO.findById(" + key + ");");
	if (key == null)
	    return null;
	return (UtilisateurApplication) findById(getReferenceClass(), key);
    }
 
    public UtilisateurApplication findInstalById(UtilisateurApplicationPK key)
	    throws org.hibernate.HibernateException {
	logger.info("UtilisateurApplicationDAO.findInstalById(" + key + ");");
	if (key == null)
	    return null;
 
	return (UtilisateurApplication) HibernateUtil.currentSession()
		.createQuery(
			"from UtilisateurApplication ua where ua.Id.IdApplication.id='"
				+ key.getIdApplication().getId()
				+ "'  and ua.Id.IdUtilisateur.id='"
				+ key.getIdUtilisateur().getId() + "'")
		.uniqueResult();
 
    }
 
    public boolean dejaEnBase(BigDecimal IdUtil, BigDecimal IdApp)
    	throws org.hibernate.HibernateException{
	logger.info("UtilisateurApplicationDAO.exist");
 
	if(IdUtil == null || IdApp == null) return false;
 
	Query result = HibernateUtil.currentSession().createQuery(
		"from UtilisateurApplication ua where ua.Id.IdApplication.id='"
			+IdApp
			+"' and ua.Id.IdUtilisateur.id='"
			+IdUtil+"'");
	if( result == null){
	    return false;
	}
	else{
	    return true;
	}	
    }
}

Je ne vois vraiment pas d'où peut provenir le soucis, j'ai bien fait les import dans ma jsp...




PS: j'utilise Eclipse , tomcat 5.5 et hibernate.