web-dev-qa-db-fra.com

Les méthodes sont-elles légales dans le scriptlet JSP?

Je sais que ce n'est pas recommandé, et je devrais utiliser des bibliothèques de balises, etc., etc.

Mais je voudrais quand même savoir s'il est légal de déclarer des méthodes dans un scriplet JSP:

<%
   public String doSomething(String param) {
      //
   }

   String test = doSomething("test");

%>

Est-ce légal? Je reçois des erreurs de compilation étranges (comme a ; is expected) qui ne semblent pas convenir. Merci.

31
bba

Vous devez utiliser la syntaxe de déclaration (<%! ... %>):

<%! 
   public String doSomething(String param) { 
      // 
   } 
%>
<%
   String test = doSomething("test"); 
%> 
53
axtavt

Comprendre le fonctionnement de jsp: L'ensemble du JSP est converti en classe Java par Tomcat. Cette classe Java n'est rien d'autre que la classe Servlet. C'est donc le servlet que vous exécuterez à la fin.

Maintenant considérez que vous écrivez un code Jsp qui imprime la somme de 2 nos, passée dans une méthode

<body>
  <%!               
  public int add(int a,int b)           
          {                                     
    return a+b;
          } 
   %>

  <% 
  int k;                
      k=add(5,6);
  %>

  <%=                   
      k                     
  %>

</body>

Donc, si vous deviez écrire le même code qui affiche la somme de 2 ns dans une servlet, vous l'écririez probablement dans la méthode doGet ().

raison pourquoi vous obtiendriez une erreur est que vous définissez une méthode dans une autre méthode (ce qui viole la règle des définitions de méthode).

Par conséquent, nous mettons la méthode dans la balise de définition afin que si forme une nouvelle méthode

15
Saurabh Jain