passage de fonction [jsp] - Java - Programmation
Marsh Posté le 01-03-2006 à 13:41:19
Quand tu utilises <%! %>, tu définis des attributs ou des méthodes de la classe générée à partir de ta JSP.
La classe générée hérite de HttpServlet et quand tu utilises <% %>, tu ajoutes du code à la méthode service().
Tel que c'est écrit pour l'instant, les variables conn et resultSet sont des variables locales à la méthode service() donc c'est normal qu'elles ne soient pas visibles dans la méthode executeMAJ.
Ce qu'il faut faire c'est passer ces valeurs en parametres de executeMAJ.
Marsh Posté le 01-03-2006 à 14:03:53
merci bidem c'etait exactement le probleme, maintenant cela fonctionne parfaitement
Marsh Posté le 01-03-2006 à 10:38:37
bonjour
j'ai un soucis en jsp sur l'utilisation des fonctions:
voici la fonction en question et le debut du code en question:
<%
Connection conn;
ResultSet resultSet;
try {
// Connexion a la base
conn = DriverManager.getConnection(url, login, password);
Statement statement = conn.createStatement();
resultSet = statement.executeQuery(requete);
} catch (SQLException e) {
System.out.println("Une erreure est apparue." );
System.out.println(e.toString());
throw new UnavailableException(this, "Impossible de se connecter a la base." );
}
%>
<%!
public String executeMAJ(String requete){
try{
Statement ss = conn.createStatement();
resultSet r = ss.executeQuery(requete);
ss.close();
r.close();
}catch(SQLException e) {
System.out.println("mise a jour non effective" );
}
return requete;
}
%>
<html>
<head></head>
<body>
si je ne rajoute pas le '!' du <%!%> pour la definition de la fonction je me fait jeter
si je le met, conn et resultSet ne sont plus reconnus!
comment faire pour que cela fonctionne correctement?
merci