2011-07-13 5 views
1

Je dois appeler la fonction basée sur la valeur request.getParameter("name"). Si j'utilise le code suivant j'obtiens l'erreur:jsp request.getParameter dans si condition

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 82 in the jsp file: alert.jsp 
url cannot be resolved to a type 

Ce code je:

if(request.getParameter("name")==null) 
{ 
    test=0; 
out.println("user:"+user); 
    String url[][]=mon.fun(user); 
    } 
else{ 
test=1; out.println("ser:"+ServerName+" "+user); 
String url[][]=mon.function(ServerName,user); 
} 

for(int i=0;url!=null&&i<url.length;i++){ 

    out.println(url[i][0]); 
} 

Mais si j'appelle ces fonctions séparément qui ne sont pas à l'intérieur de la condition if, je suis en mesure pour accéder aux valeurs de l'URL.

Où est-ce que je me trompe?

Répondre

4

Mettre

String[][] url; 

avant votre clause if, et définir sa valeur à l'intérieur des blocs avec:

url = ...; 

variable sont hors de portée dès que le bloc, il est déclaré, est fermé .

+0

Ya j'ai essayé d'utiliser comme ceci mais je reçois l'erreur ** url ne peut pas être résolu en un type ** en faisant référence à la ligne ** url [] [] = mon.fun (user); ** – ashu

+0

Utilisez 'url = mon.fun (utilisateur) '. Déposez le '[]] sauf lorsque vous déclarez la variable. – Mat

+0

Hey, ça marche maintenant .... Merci u Mat ........... – ashu